右括弧が消える原因判明

以下のSQLの場合、

INSERT INTO TABLE_NAME (NAME, AGE) VALUES (/*dto.name*/'SCOTT',/*dto.age*/20)

構文解析の際に

  1. INSERT INTO TABLE_NAME (NAME, AGE) VALUES (
  2. dto.name
  3. 'SCOTT'
  4. ,
  5. dto.age
  6. 20)

となってしまい、”20)”がスキップされて結果として右括弧のない

INSERT INTO TABLE_NAME (NAME, AGE) VALUES (/*dto.name*/'SCOTT',/*dto.age*/20

となってしまう。例えば、

INSERT INTO TABLE_NAME (NAME, AGE) VALUES (/*dto.name*/'SCOTT',/*dto.age*/'20')

とした場合は

  1. INSERT INTO TABLE_NAME (NAME, AGE) VALUES (
  2. dto.name
  3. 'SCOTT'
  4. ,
  5. dto.age
  6. 20
  7. )

となって正常にパースされる。ちなみに、

INSERT INTO TABLE_NAME (NAME, AGE) VALUES (/*dto.name*/'SCOTT',/*dto.age*/20
)

  1. INSERT INTO TABLE_NAME (NAME, AGE) VALUES (
  2. dto.name
  3. 'SCOTT'
  4. ,
  5. dto.age
  6. 20
  7. \r\n)

となるのでこれも正常にパースされる。