開發人員在開發庫上更新某個表的記錄時總忘了新增限制(where)條件, 而錯誤地更新了資料, 幾個小時或幾天後來求助dba, 給dba製造了不少麻煩, 有沒有辦法限制他們一句話能更新的記錄的條數呢? 下面的方法可以用來限制一條語句能更新的記錄數, 首先來建立乙個包.
create or replace package temppkg as建立乙個語句級(執行前)的觸發器, 初始化包中的變數.rowcount number := 0;
end;
/
create or replace trigger trg_before_update_noteinfo建立乙個行級的觸發器, 進行計數和檢查, 並丟擲錯誤.before update on noteinfo
begin
temppkg.rowcount := 0;
end;
/
create or replace trigger trg_update_noteinfo_row這個辦法是不是太土了? 用這個方法, 有點看不起自已.before update on noteinfo
for each row
begin
temppkg.rowcount := temppkg.rowcount + 1;
if temppkg.rowcount > 100 then
temppkg.rowcount := 0;
end if;
end;
/
如何防止大的DML語句
開發人員在開發庫上更新某個表的記錄時總忘了新增限制 where 條件,而錯誤地更新了資料,幾個小時或幾天後來求助dba,給dba製造了不少麻煩,有沒有辦法限制他們一句話能更新的記錄的條數呢?下面的方法可以用來限制一條語句能更新的記錄數,首先來建立乙個包.create or replace packa...
MySQL的DML刪除語句
mysql列表頁 方式一 delete 語法 1 單錶的刪除 delete from 表名 where 篩選條件 2 多表的刪除 補充 sql92語法 delete 表1的別名,表2的別名 from 表1 別名,表2 別名 where 連線條件 and 篩選條件 sql99語法 delete 表1的...
mysql中的DML語句
dml 資料操作語言,對 中的資料進行操作,insert update delete。insert 插入 insert into 表名 欄位1,欄位2,欄位3,values 值1,值2,值3,語法1 欄位名稱全寫 insert into employee 欄位1,欄位2,values 值1,值2,例...