1. 程式人生 > >Oracle:表批量插入另一個表的資料

Oracle:表批量插入另一個表的資料

-- DROP sequence lxf_id_seq;

建立一個sequence序列,因為oracle不像mysql那樣可以id自增:

CREATE SEQUENCE lxf_id_seq MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE;

CREATE OR REPLACE TRIGGER BeforeTestCreate2Insert  
    BEFORE INSERT ON security_role_privilege  
   FOR EACH ROW  
   BEGIN  
     SELECT lxf_id_seq.nextval INTO :new.id  FROM dual;  
   END;

批量插入sql:(這裡是整理了許可權表的所有許可權後,將role_Id為1的角色賦予許可權表所有的許可權)

insert into security_role_privilege(role_id, privilege_id) select 1, id from security_privilege;

記下備用。