I'm attempting to insert multiple rows into a DB2 database using C# code like this:
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();
If I stop building the query string after the first set of values, it executes without an error. Attempting to load multiple values using this method results in the following error:
Upload error : ERROR [42601] [IBM][DB2] SQL0104N
An unexpected token "," was found following "".
Expected tokens may include: "<END-OF-STATEMENT>". SQLSTATE=42601
The SQL syntax matches that which I have read elsewhere and IBM's documentation gives this example:
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();
Can anyone explain what could account for this?