标题:请帮个忙!这个触发器实现了一个什么功能
取消只看楼主
jimmy1982
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-1-16
 问题点数:0 回复次数:5 
请帮个忙!这个触发器实现了一个什么功能
create trigger deltrigger on employee for
delete
as
if @@rowcount=0
return
if @@rowcount>1
begin
rollback transaction
raiserror('you can only delete one information at one time',16,1)
end
return
搜索更多相关主题的帖子: 触发器 rowcount rollback one 
2007-01-17 10:45
jimmy1982
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-1-16
得分:0 

raiserror 拼写是对的,我删除三条记录,他也能成功

2007-01-17 11:29
jimmy1982
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-1-16
得分:0 

什么时候会弹出raiserror('you can only delete one information at one time',16,1)的提示信息,if @@rowcount=0
return不理解,
if @@rowcount>1
begin
rollback transaction
raiserror('you can only delete one information at one time',16,1)
end
是说删除的行数大于一行的话就执行begin----end 中的语句麻?还是另有意思?

2007-01-17 11:50
jimmy1982
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-1-16
得分:0 

我一次删除三条它都不告警呀!

2007-01-17 11:57
jimmy1982
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-1-16
得分:0 
drop trigger upord
go
create trigger upord on orders
after update
as
declare @row int
set @row = @@rowcount
if @row = 0
return
if (update(p_name))
begin
if @row > 1
begin
rollback transaction
raiserror('you can only one information at one time',16,1)
end
return
update p set p.p_name = i.p_name from product p,inserted i,deleted d where p.p_name = d.p_name
end

我想要实现修改orders的p_name时,product的p_name也更新了,我这样写问题在那里?
2007-01-17 14:15
jimmy1982
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-1-16
得分:0 
if (columns_update() & 14) /*表示第2、、3、4列修改时,执行下面的语句

那位大哥帮忙指点一下,是怎么计算的第2、、3、4列,谢谢!!!
2007-01-18 09:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-116461-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.173427 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved