oracle 自增序列與觸發器

2022-07-24 11:42:09 字數 1149 閱讀 2403

1.檢視某張表下的觸發器資訊

select * from all_triggers where

table_name = '表名';

2.檢視某自增序列的資訊

select * from user_sequences where sequence_name= '自增序列名稱';

3.檢視自增序列下次自增的值

select 「自增序列名稱」.nextval from dual;

4.建立自增序列從一開始每次加1

create sequence "自增序列名稱_id_seq" minvalue 1 nomaxvalue increment by 1 start with 1 nocache;

5.建立觸發器

create trigger sw_task_contract_ft_id_ins_trg

before insert

on sw_task_contract_ft

for each row

when (new.id is null)

begin

select sw_task_contract_ft_id_seq.nextval into :new.id from dual;

end;

觸發器名:觸發器物件的名稱。由於觸發器是資料庫自動執行的,因此該名稱只是乙個名稱,沒有實質的用途。

before:表示在資料庫動作之前觸發器執行;

after:表示在資料庫動作之後觸發器執行。

觸發事件:指明哪些資料庫動作會觸發此觸發器:

insert:資料庫插入會觸發此觸發器;

update:資料庫修改會觸發此觸發器;

delete:資料庫刪除會觸發此觸發器。

表 名:資料庫觸發器所在的表。

for each row:對錶的每一行觸發器執行一次。如果沒有這一選項,則只對整個表執行一次。

6.刪除觸發器

drop trigger "dd_oilcan_io_pot_no_new_idtrg";

oracle自增序列及其觸發器

遷移資料庫mysql oracle,oracle中沒有mysql中的自增功能,使用序列及觸發器實現 create sequence userid sequence 序列名 userid sequence 為序列名,隨便取名 increment by 1 每次增加1 start with 1 從1開始...

Oracle資料寫入自增 觸發器

oracle不能像mysql和sql server那樣設定主鍵自增,在寫入資料的時候需要用 1 序列 觸發器 的方式使資料表的一列或多列實現自增。兩者可在檢視中建立,也可以使用sql語句建立。2 或者只建立序列,插入時之江將序列.nextval 作為值插入。1 建立序列 dual 的sql語句 cr...

oracle 觸發器trigger(主鍵自增長)

觸發器我們也可以認為是儲存過程,是一種特殊的儲存過程。儲存過程 有輸入引數和輸出引數,定義之後需要呼叫 觸發器 沒有輸入引數和輸出引數,定義之後無需呼叫,在適當的時候會自動執行。資料的新增 修改 刪除 操作的時候 儲存過程 觸發器create proc proc name 宣告輸入引數和輸出引數 a...