sql server 触发器提问

chb89888404 2008-06-18 01:45:07
create trigger Tourse_now
on Course
for insert as
declare @SNO_NOW int,@CNO_NOW int
--这里定义两个局部变量
select @SNO_NOW=SNO,@CNO_NOW=CNO
from inserted
if(left(@SNO_NOW,2)!='97')
begin
rollback transaction
raiserror('您输入的学好:@d不是97级的学生,请确认后重新录入!',16,1,@SNO_NOW)
end
在这个触发器中,16,1,@SNO_NOW这个代表什么意思?还有当我进行数据的插入的时候
insert into Course values('9607','王平','管理工程','男','10','78.5','必修',getdate())
为什么提示入下提示如下:
您输入的学好:@d不是97级的学生,请确认后重新录入!
为什么这里的@d没有显示任何数据,它应该显示9607就对了

...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhwcd 2008-06-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 roy_88 的回复:]
@d改為%d......
[/Quote]
-狙击手- 2008-06-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 roy_88 的回复:]
@d改為%d......
[/Quote]
中国风 2008-06-18
  • 打赏
  • 举报
回复
@d改為%d......
bwu851 2008-06-18
  • 打赏
  • 举报
回复
1) 16, 1, @SNO_NOW---错误程度, 状态, 当前输入的值

2) 用%d, 而不是@d

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧