Db2 sqlcode -20186 - PullRequest
       2

Db2 sqlcode -20186

0 голосов
/ 26 января 2019

Я пытаюсь запустить простую инструкцию вставки в db2, но получаю неверную инструкцию:

мой sql:

insert into schema1.table1 select * from schema2.table1

Ошибка:

SQLCODE = -20186, ОШИБКА: УКАЗАНИЕ, УКАЗАННОЕ ДЛЯ ДИНАМИЧЕСКОГО SQL; ЗАЯВЛЕНИЕ ОБРАБОТАНО, НЕДОПУСТИМО

Я прошел через центр знаний IBM и нашел эту страницу .

Я понимаю, что db2 допускает 3 формы вставки: Есть три формы этого утверждения:

  1. Форма INSERT via VALUES используется для вставки одной строки в таблицу или представление с использованием значений, предоставленных или на которые имеется ссылка.

  2. Форма INSERT via SELECT используется для вставки одной или нескольких строк в таблицу или представление с использованием значений из других таблиц или представлений, или обоих.

  3. Форма INSERT via FOR n ROWS используется для вставки нескольких строк в таблицу или представление с использованием значений, предоставленных или на которые имеется ссылка.

У меня вопрос, почему db2 ищет в моем запросе предложение "для n строк".

Примечание: этот запрос отправляется через SSGODBC.

1 Ответ

0 голосов
/ 27 января 2019

Возможно, вы хотите попытаться явно указать столбцы.

INSERT INTO Schema1.table1 (col1,col2,...) SELECT col1,col2,... FROM Schema2.table2 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...