Oracle 如何将INSERT INTO用于此PL/SQL代码块?
我对PL/SQL的过程语言方面相当陌生,所以如果这是基本的,请原谅我 我正在尝试将值放入我以前在此代码块之外创建的表中。此代码当前在第六行出现错误。知道为什么吗Oracle 如何将INSERT INTO用于此PL/SQL代码块?,oracle,for-loop,plsql,sql-insert,sql-like,Oracle,For Loop,Plsql,Sql Insert,Sql Like,我对PL/SQL的过程语言方面相当陌生,所以如果这是基本的,请原谅我 我正在尝试将值放入我以前在此代码块之外创建的表中。此代码当前在第六行出现错误。知道为什么吗 BEGIN FOR c IN (SELECT name FROM clients) LOOP FOR d IN (SELECT customer_id, alt_name FROM customers) LOOP IF d.alt_name LIKE '%' || c.name || '%' THE
BEGIN
FOR c IN (SELECT name FROM clients) LOOP
FOR d IN (SELECT customer_id, alt_name FROM customers) LOOP
IF d.alt_name LIKE '%' || c.name || '%'
THEN
INSERT INTO previously_made_table(name, customer_id, alt_name, customer_code) VALUES(c.name, d.customer_id, d.alt_name, '101');
COMMIT;
END IF;
END LOOP;
END LOOP;
END;
这里不需要pl\sql
insert into previously_made_table
(name, customer_id, alt_name, customer_code)
select c.name, d.customer_id, d.alt_name, '101'
from clients c , customers d
where d.alt_name LIKE '%' || c.name || '%'
这起作用了
INSERT INTO previously_made_table VALUES(c.name, d.customer_id, d.alt_name, '101');
我删掉了列名。希望这有帮助。请发布错误。谢谢。错误是PL/SQL:ORA-00904:“客户代码”:标识无效。我应该向您保证表上肯定有此字段。您可以尝试只运行SQLPlus(或您最喜欢的Oracle工具)中的INSERT语句吗?也许你的列名搞错了……没错,但我更想知道如何使用我提出问题时使用的PL/SQL格式。在
以前的\u-make\u-table
中,你可能没有名为customer\u-code
的列。它就在那里,正如我在上面的评论中提到的。请在你的INSERT INTO语句中。