Update触发器问题(SQL2000)

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:18:47
建立一个Update触发器,当更新A表的B列时,触发器检查数据是否提高10%,如果超过10%,以ROLLBACK语句复原触发器,并打印“更新失败”,否则打印“更新成功”

编了一部分:
create trigger Update_grade
on SC
for update
as
if update(grade)
begin
if
。。。下面的不会了

触发器这样写:
CREATE TRIGGER Update_grade ON [SC]
FOR UPDATE
AS
declare @y_B INT,@n_B INT
SELECT @Y_B=B FROM DELETED
SELECT @N_B=B FROM INSERTED
if (((@N_B-@Y_B)*100)/@Y_B)>10
raiserror('更新失败!',16,1)
GO
触发器只完成当字段B的增量超过10%时,报告错误.
而事务回滚操作(ROLLBACK)一般要在调用UPDATE语句的连接上给出
更新成功的报告也要在前台调用UPDATE的程序没有收到“更新失败”信息时给出。