请教一个SQL SERVER2000 触发器的问题

本人新学数据库遇到一个问题,向各位高手请教我有一个数据库USER库内又两个用户表Users和Usermessage有两个同名字段UserID和UserName我想用触发器... 本人新学数据库 遇到一个问题,向各位高手请教
我有一个数据库 USER 库内又两个用户表
Users 和 Usermessage
有两个同名字段 UserID和UserName
我想用触发器使 UserID更新的同时,UserName的同名字段也同时更新
程序如下:
create trigger stu
on 学生
for insert
as
declare @e char(30),@m char(30)
begin
select @m = count(课号) from 选课
select @e = 学号 from inserted
insert into 选课 values(@e,@m)
end
---
检查语法时系统提示:错误170,第九行‘)’附近有语法错误。
本人刚学习数据库,水平很浅,还请各位高手赐教。
抱歉,代码复制错了,那个是上网找来参考的,下面这个才是。
CREATE TRIGGER TBCR
ON Users
FOR INSERT
AS
declare @I char(30),@n char(30)
BEGIN
select @I = UserID FRom Users
select @n = UserName from Users
INSERT INTO Usermessage(@i,@n)
GO
END
展开
 我来答
tangdaizuo
2010-11-03 · TA获得超过515个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:193万
展开全部
最好把出错的那行代码贴出来,如果你declare @I char(30),@n char(30)的变量长度与你的users表中的相应字段变量长度一样,同时你说的是更新不是增加,怎么贴出的代码是增加代码,如果是增加代码的话:

CREATE trigger TBCR
on dbo.users
FOR INSERT
AS
declare @I char(30),@n char(30)
BEGIN
select @I = UserID,@n = UserName From inserted
INSERT INTO Usermessage(UserID,UserName) values(@i,@n)
END
go

《重要提示,问题在这里:〈〈注意把你的最后的END和GO交换一下位置! 〉〉》
百度网友87b4f1c69
2010-11-03 · TA获得超过1218个赞
知道小有建树答主
回答量:760
采纳率:0%
帮助的人:978万
展开全部
选课 这个表里就这两个字段么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1214fdcbb
2010-11-03 · TA获得超过1240个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:378万
展开全部
@I char(30)这个不是int的,然后你的Usermessage的UserID应该是int的吧?
而且@i大小写不匹配
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式