0

私はコンテンツを含むテキストファイルを持っています:

ACTION = NEW        // (NEW, CHANGE)
NEW_NUMBER = '123456'
NUMBER_FOR_CHANGE = '789456'
TEXT_NAME1 = 'TEST1'
TEXT_NAME2 = 'TEST2'
TEXT_NAME3 = 'TEST3'

そして、このファイルを解析して次の変更を行うためのGroovyスクリプトでコードを作成したい:

アクション = 新規の場合:

`sql.executeInsert "INSERT INTO TABLE.DB (NUMBER, NAME1, NAME2, NAME3) VALUES ($NEW_NUMBER, $TEXT_NAME1, $TEXT_NAME2, $TEXT_NAME3)" `    

アクション = 変更の場合:

    sql.executeUpdate "UPDATE TABLE.DB SET NAME1 = $TEXT_NAME1, NAME2 = $TEXT_NAME2, NAME3 = $TEXT_NAME3 WHERE NUMBER LIKE $NUMBER_FOR_CHANGE"

アクション = 削除の場合:

    sql.execute "DELETE FROM TABLE.DB WHERE NUMBER = $NUMBER_FOR_CHANGE"

どんな助けにも感謝します

ありがとう

4

1 に答える 1

2

このような何かがそれを行う必要がありますか?

def sqlstr = new Properties().with { props ->
  new File( '/path/to/file' ).withReader { r ->
    load( r )
    switch( props.ACTION ) {
      case 'NEW':
        "INSERT INTO TABLE.DB (NUMBER, NAME1, NAME2, NAME3) VALUES ($NEW_NUMBER, $TEXT_NAME1, $TEXT_NAME2, $TEXT_NAME3)"
        break
      case 'CHANGE':
        "UPDATE TABLE.DB SET NAME1=$TEXT_NAME1, NAME2=$TEXT_NAME2, NAME3=$TEXT_NAME3 WHERE NUMBER = $NUMBER_FOR_CHANGE"
        break
      case 'DELETE':
        "DELETE FROM TABLE.DB WHERE NUMBER = $NUMBER_FOR_CHANGE"
        break
      default:
        throw new RuntimeException( "Unknown ACTION $props.ACTION" )
    }
  }
}

// Assuming sql is set up right:
sql.execute sqlstr
于 2013-01-28T13:44:56.483 に答える