在我的模式中,我已經將約250個表從SQL Server遷移到Oracle。事情是,沒有序列或觸發器爲這些表中的任何創建。自動生成Oracle中所有表的序列和觸發器
是否有一種簡單的方法來生成所有的表格序列和觸發器,而不是手動爲每個表執行此操作?
的順序,我需要將是一個例子:
CREATE SEQUENCE "SYSTEM"."SEC_USERS_ID_SEQ"
MINVALUE 0 MAXVALUE 999999999999999999999999
INCREMENT BY 1
START WITH 23
CACHE 20
NOORDER NOCYCLE NOPARTITION;
和觸發:
create or replace TRIGGER SEC_USERS_TRIG
before INSERT
ON "SYSTEM"."SEC_USERS"
FOR EACH row
BEGIN
IF inserting THEN
IF :NEW."ID" IS NULL THEN
SELECT SEC_USERS_ID_SEQ.nextval INTO :NEW."ID" FROM dual;
END IF;
END IF;
END;
生成觸發器是什麼意思?他們在做什麼? – Deltharis
觸發器用於運行插入/更新時增加ID的序列 – Azarix
您可以查看帶有自動增量PK的表格,無需觸發器。 – Aleksej