Oracle數據庫 常用的觸發器命令


創建自增序列,創建觸發器(在觸發時間中操縱序列,實現主鍵自增):

Oracle數據庫不支持自增方法

create sequence seq_userInfo_usid start with 1;--創建一個序列從1開始
create or replace triggle tri_userInfo --創建或替換 名稱為tri_userInfo觸發器
before before  insert or update on UserInfo --在向userInfo表中添加和修改, 記錄之前的觸發
for each row --沒影響一行出發一次
begin --觸發之后執行下面的語句
IF INSERTING THEN    --插入數據操作
        select seq_testTragger_id.nextval into :new.UserId from dual; --:new新值 :old老值 
         :NEW.UserId := seq_testTragger_id.currval;
        :NEW.createtime := systimestamp;
    ELSIF UPDATING then    --修改數據操作
        :NEW.createtime := systimestamp;
    END IF;
end;
--查看所有觸發器
select * from user_triggers;
--禁用觸發器
alter trigger tri_uname(觸發器名字) disable;
--激活觸發器
alter trigger tri_uname(觸發器名字) enable;
--重新編譯
alter trigger tri_uname(觸發器名字) complie;
--禁用某個表上的觸發器
alter table table_name(表名)  diable all triggers;
--刪除觸發器
DROP TRIGGER tri_uname(觸發器名字);
--刪除序列
DROP SEQUENCE seq_testTragger_id(序列名);
--清空表數據
DELETE FROM table_name(表名);

--為字段設置默認值
--例子:將年齡的默認值設置為22
alter table table_name(表名) add constraint dt_age(默認名,任意取) default 22(值) for 年齡(字段);

--為字段設置主鍵
  alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field)(單個字段確定唯一性)
 
--為字段設置復合主鍵
alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field1,column_Field2....)(多個字段確定唯一性)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM