alter trigger [sc]
on [dbo].[貨品目錄]
after delete
as declare @r_id char(10),@kc decimal(18, 3)
select @r_id=編號,@kc=當前庫存
from deleted
if(@kc>0.0)
begin
rollback transaction
raiserror('德權:不能刪除資料',16,1)
end設計簡單的instead of觸發器
create trigger 訂單明細_insert
on 訂單明細
instead of insert
asbegin
set nocount on;
declare
@訂單id int,
@產品id int,
@單價 money,
@數量 smallint,
@折扣 real
set @訂單id = (select 訂單id from inserted)
set @產品id = (select 產品id from inserted)
set @單價 = (select 單價 from inserted)
set @數量 = (select 數量 from inserted)
set @折扣 = (select 折扣 from inserted)
if (@折扣)>0.6
print '折扣不能大於0.6'
else
insert into 訂單明細
(訂單id,產品id,單價,數量,折扣)
values
(@訂單id,@產品id,@單價,@數量,@折扣)
endgo
Oracle中的觸發器
oracle 中的觸發器 在oracle 中,觸發器是一種特殊的子程式,它在插入 更新 刪除資料時自動執行。使用觸發器可以實現比較複雜的約束。pk fk uq ck df 都是單錶約束資料完整性。觸發器可以分為 insert 觸發器 update 觸發器 delete 觸發器。insert 觸發器在...
SQL Server中的觸發器
去年接觸觸發器的時候一頭霧水,現在也算有了個大概的了解。就像的自考一樣,學習真的是乙個需要反覆的過程,從陌生到熟悉這是乙個過程。一 基本概念 觸發器是一種特殊型別的儲存過程,它不同於普通的儲存過程。觸發器主要是通過事件進行觸發而被執行的,而儲存過程可以通過儲存過程名稱而被直接呼叫。當往某乙個 中插入...
MYSQL中的觸發器
只能用於insert,delete與update語句。只能用於實體表。每個表最多支援6個觸發器。觸發器失敗,它後面的邏輯也無法執行。在觸發器執行的時候,存在乙個名為new的虛擬表,和乙個名為old的虛擬表。new中的資料可以更新,old中的資料不可改變。觸發器有before和after,在語句執行前...