db2 sqlcode -20186

时间:2019-01-25 21:47:28

标签: sql db2

我试图在db2中运行一个简单的insert语句,但是得到无效的语句:

我的sql:

insert into schema1.table1 select * from schema2.table1

错误:

  

SQLCODE = -20186,错误:为动态SQL指定了一条条款;处理的声明无效

我走过ibm知识中心,发现了this page

我了解db2允许3种形式的插入: 该语句有三种形式:

  1. “通过值插入”表单用于使用提供或引用的值在表或视图中插入一行。

  2. “通过SELECT插入表格”用于使用其他表或视图或两者中的值将一个或多个行插入到表或视图中。

  3. 通过FOR n ROWS形式的INSERT用于使用提供或引用的值在表或视图中插入多行。

我的问题是,为什么db2在查询中寻找“ for n rows”子句。

注意:此查询是通过SSGODBC发送的。

1 个答案:

答案 0 :(得分:0)

可能想要尝试并明确声明列。

INSERT INTO Schema1.table1 (col1,col2,...) SELECT col1,col2,... FROM Schema2.table2