Ошибка вставки db2, когда 'присутствует (даже экранирование не работает) - PullRequest
0 голосов
/ 17 марта 2011

Я выполняю команду вставки на db2, как показано ниже:

insert into uinfo.transaction (TRANSACTION_ID, DATE,TIME,ID,USER,DESC) values
(14,20110311,36909,97,2497580,'Note:9045-02 2=34 ///' 2eq034d,xw d""::: 214l 23e;l2')

Выдано сообщение об ошибке: во время обработки SQL вернулось:

SQL0103N The numeric literal "2034d" is not valid. SQLSTATE=42604

Итак, я попытался сбежать' следующим образом:

insert into uinfo.transaction (TRANSACTION_ID, DATE,TIME,ID,USER,DESC) values
(14,20110311,36909,97,2497580,'Note:9045-02 2=34 ///\' 2eq034d,xw d""::: 214l 23e;l2')

Это все равно не может сказать то же самое.Во время обработки SQL он вернул:

SQL0103N The numeric literal "2034d" is not valid. SQLSTATE=42604

Есть идеи, что не так, и можно ли это преодолеть?

1 Ответ

1 голос
/ 17 марта 2011

Чтобы включить ' в строку, нужно удвоить ее. Например: 'ab''cd'. Подробнее читайте в разделе Строковые константы символов на http://publib.boulder.ibm.com/infocenter/db2luw/v9r8/index.jsp?topic=/com.ibm.db2.luw.sql.ref.doc/doc/r0000731.html.

...