?? 示例-觸發器.sql
字號:
CREATE TABLE 庫存表
( 產品號 char(6) PRIMARY KEY,
產品名 char(10),
庫存數量 int
)
CREATE TABLE 出庫表
( 產品號 char(6) REFERENCES 庫存表(產品號),
出庫日期 smalldatetime,
出庫數量 int
)
GO
INSERT INTO 庫存表 VALUES('01','計算機',10)
INSERT INTO 庫存表 VALUES('02','電視機',20)
INSERT INTO 庫存表 VALUES('03','DVD',5)
GO
CREATE TRIGGER TR_出庫表
ON 出庫表 AFTER INSERT
AS
DECLARE @ID char(6), @num int
DECLARE @tmp int
SELECT @ID = 產品號, @num = 出庫數量 FROM inserted
SELECT @tmp = 庫存數量 FROM 庫存表
WHERE 產品號 = @ID
IF @tmp - @num >= 0
BEGIN
UPDATE 庫存表 SET 庫存數量 = 庫存數量 - @num
WHERE 產品號 = @ID
COMMIT TRAN
END
ELSE BEGIN
ROLLBACK TRAN
RAISERROR('庫存數量不夠!',16,1)
END
GO
Insert 出庫表 VALUES('02','2006-3-10',1)
select * from 庫存表
select * from 出庫表
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -