【问题标题】:Insert and subselect插入和子选择
【发布时间】: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语句本身是正确的。

【问题讨论】:

    标签: sql db2


    【解决方案1】:

    错误在于,当您插入记录时,您要么使用选择,要么指定值。你不要两者都做。没关系

    insert into table
    (field1)
    values
    (value1)
    

    是这样的:

    insert into table
    (field1)
    select distinct value1
    from somewhere
    

    所以选择一种方法。

    【讨论】:

      【解决方案2】:

      你混合了两个语句,这是你应该做的

      INSERT INTO S654321.PERSON
      (PNR, FIRSTNAME, LASTNAME)
      SELECT 32, FIRSTNAME, LASTNAME
      FROM S654321.CUSTOMER
      WHERE CUSTNR = 'C002'
      

      【讨论】:

        猜你喜欢
        • 2021-08-04
        • 2018-12-11
        • 1970-01-01
        • 1970-01-01
        • 2014-12-30
        • 2021-10-07
        • 2012-10-12
        • 2016-01-28
        • 1970-01-01
        相关资源
        最近更新 更多