【发布时间】:2014-05-27 10:51:20
【问题描述】:
INSERT INTO S654321.PERSON
(PNR, FIRSTNAME, LASTNAME)
VALUES
SELECT 32, FIRSTNAME, LASTNAME
FROM S654321.CUSTOMER
WHERE CUSTNR = 'C002'
返回 sqlcode -104 和 sqlstate 42601。你看到错误了吗? select语句本身是正确的。
【问题讨论】:
INSERT INTO S654321.PERSON
(PNR, FIRSTNAME, LASTNAME)
VALUES
SELECT 32, FIRSTNAME, LASTNAME
FROM S654321.CUSTOMER
WHERE CUSTNR = 'C002'
返回 sqlcode -104 和 sqlstate 42601。你看到错误了吗? select语句本身是正确的。
【问题讨论】:
错误在于,当您插入记录时,您要么使用选择,要么指定值。你不要两者都做。没关系
insert into table
(field1)
values
(value1)
是这样的:
insert into table
(field1)
select distinct value1
from somewhere
所以选择一种方法。
【讨论】:
你混合了两个语句,这是你应该做的
INSERT INTO S654321.PERSON
(PNR, FIRSTNAME, LASTNAME)
SELECT 32, FIRSTNAME, LASTNAME
FROM S654321.CUSTOMER
WHERE CUSTNR = 'C002'
【讨论】: