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(無法在源表中獲得一組穩定的行)。 –