如何在觸發器中修改物件結構

2021-08-29 16:38:27 字數 414 閱讀 2208

create or replace trigger test_trigger

before insert on test_tab 

for each row

declare

-- local variables here

begin

alter sequence test_seq

maxvalue 1000;

end test_trigger;

上面的**僅僅是通過觸發事件來修改sequence的最大值;也就是執行了修改物件結構的語句;  顯然這是不能編譯通過的,除了手工執行像:

alter sequence test_seq

maxvalue 1000;

的語句有沒有一種機制可以在觸發器或過程裡修改sequence或表結構之類的操作?

MySQL 中如何在觸發器裡中斷記錄的插入或更新?

mysql 不象其它有些資料庫可以在觸發器中丟擲異常來中斷當然觸發器的執行以阻止相應的sql語句的執行。在mysql的目錄版本中還無法直接丟擲異常。這樣我們如何實現呢?下面是一種實現的方法。思路就是想辦法在觸發器中利用乙個出錯的語句來中斷 的執行。mysql create table t contr...

MySQL 中如何在觸發器裡中斷記錄的插入或更新?

mysql 不象其它有些資料庫可以在觸發器中丟擲異常來中斷當然觸發器的執行以阻止相應的sql語句的執行。在mysql的目錄版本中還無法直接丟擲異常。這樣我們如何實現呢?下面是一種實現的方法。思路就是想辦法在觸發器中利用乙個出錯的語句來中斷 的執行。mysql create table t contr...

在SQL Server觸發器中如何判斷哪些列被更改

在觸發器中判斷哪些列被更改有以下兩種方法 第一 可以使用update 函式 語法 update 列名 返回值 bool值。如果該列被更新則為true,否則為false。該函式比較方便也比較實用。第二 使用columns updated 函式。語法 columns updated 返回值 varbin...