Я пытаюсь вставить несколько строк в базу данных DB2, используя код C #, например:
string query =
"INSERT INTO TESTDB2.RG_Table (V,E,L,N,Q,B,S,P) values" +
"('abc', 'def', '2009-03-27 12:01:19', 'ghi', 'jkl', NULL, NULL, NULL)," +
"('abc', 'def', '2009-03-27 12:01:19', 'ghi', 'jkl', NULL, NULL, NULL)";
DB2Command cmd = new DB2Command(query, this.connection, this.transaction);
cmd.ExecuteNonQuery();
Если я перестану строить строку запроса после первого набора значений, она будет выполнена без ошибок. Попытка загрузить несколько значений с помощью этого метода приводит к следующей ошибке:
Upload error : ERROR [42601] [IBM][DB2] SQL0104N
An unexpected token "," was found following "".
Expected tokens may include: "<END-OF-STATEMENT>". SQLSTATE=42601
Синтаксис SQL совпадает с тем, который я прочитал в другом месте , и документация IBM приводит этот пример:
cmd = conn.CreateCommand();
cmd.Transaction = trans;
cmd.CommandText =
"INSERT INTO company_a VALUES(5275, 'Sanders', 20, 'Mgr', 15, 18357.50), " +
"(5265, 'Pernal', 20, 'Sales', NULL, 18171.25), " +
"(5791, 'O''Brien', 38, 'Sales', 9, 18006.00)";
cmd.ExecuteNonQuery();
Может кто-нибудь объяснить, что может объяснить это?