【发布时间】:2022-06-27 22:05:17
【问题描述】:
我有一个现有的表,我想在另一个表中为给定的第一个表的每一行添加一些条目。 我将我的 PLSQL 命令编写为:
BEGIN
FOR record in (select cola_guid, hapc_guid, tar_guid from tabA) LOOP
select count(*) INTO v_record_exists
from p where
p.cola_guid = record.cola_guid;
IF v_record_exists = 0 THEN
execute immediate 'insert into NTABLE (tar_guid, PC_NAE, PCV) values (record.tar_guid, ' || '''abcd''' || ', ' || '''val1''' || ')';
ELSE
execute immediate 'insert into NTABLE (tar_guid, PC_NAE, PCV) values (record.tar_guid, ' || '''abcd''' || ', ' || '''val2''' || ')';
END IF;
execute immediate 'insert into NTABLE (tar_guid, PC_NAE, PCV) values (record.tar_guid, ' || '''RA_hapc_guid''' || ', record.hapc_guid)';
execute immediate 'insert into NTABLE (tar_guid, PC_NAE, PCV) select record.tar_guid, PC_NAE, PCV from p where record.cola_guid = p.cola_guid and PC_NAE = ' || '''propVal''' || ' ';
END LOOP;
END;
现在我收到错误:
ORA-00984:此处不允许列
排队:
执行立即'插入NTABLE(tar_guid,PC_NAE,PCV)值(record.tar_guid,'||'''abcd'''||','||'''val1'''||') ';
我是 PLSQL 世界的新手,但我确实尝试过分类和谷歌搜索但无法解决。请指导和帮助。
【问题讨论】:
标签: plsql sql-insert