【发布时间】:2017-10-14 04:44:32
【问题描述】:
谁能告诉我为什么这段代码不起作用?我在第 1 行和第 2 行不断出错。
我想为CUSTLA 表中的每一行在PROBLEMTABLE 表中插入一行,其中CustCode 与CUSTCATEGORY 源表中的PK 值不匹配。
第 1 行的错误没有给出原因,但第 2 行的错误表明该列的定义不明确。
INSERT INTO PROBLEMTABLE (problemid, source_rowid, source_table, filterid, datetime, action)
SELECT
PROBLEM_SEQ.NEXTVAL, ROWID, 'CUSTLA', 2, CURRENT_DATE, 'MODIFY'
FROM
CUSTLA U, CUSTCATEGORY Y
WHERE
U.CustCode != Y.CustCode;
SELECT * FROM PROBLEMTABLE;
【问题讨论】:
-
你能给我们错误的全文吗?
-
描述已被编辑@GiorgosBetsos
-
表 CUSTLA 和 CUSTCATEGORY 都包含同名的列,可能是列 ROWID。在您的
SELECT语句中,将表别名添加到两个表中都存在的列中,例如SELECT U.ROWID ... -
你的关系型数据库是什么?
-
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI
JOIN语法-92 SQL 标准(25 年前),不鼓励使用它
标签: sql sql-insert