0
我需要更新id_number & entry_time的记录。 此表中没有主键。 有人可以帮我这个截断,插入转换为合并声明:如何用pl/sql中的merge子句替换truncate-insert
CREATE OR REPLACE PACKAGE BODY PK_ENTRY_TIME IS
PROCEDURE PROC_ENTRY_TIME
AS
BEGIN
execute immediate 'truncate table TABLE_ENTRY_TIME';
insert into TABLE_ENTRY_TIME SELECT TABLE_CASE.ID_NUMBER , TABLE_ACT_ENTRY.ENTRY_TIME
FROM SA.TABLE_CASE TABLE_CASE INNER JOIN SA.TABLE_ACT_ENTRY TABLE_ACT_ENTRY
ON TABLE_CASE.OBJID = TABLE_ACT_ENTRY.ACT_ENTRY2CASE
commit;
END PROC_ENTRY_TIME;
END PK_ENTRY_TIME;
你为什么要使用合并,而不是截断+插入? – krokodilko
如果没有主键,则不能执行“MERGE”。如果您正在合并的行集中存在重复项,那么您将得到一个错误ORA-30926(无法在源表中获得一组稳定的行)。 –