在sql server2000中如何创建触发器,急!!!

我现在有两个表,Sales和Kucun表,都有共同的属性列书编号Bno.
分别为销售状况统计表和库存信息表,触发器的作用为当销售表中每插入一行时,库存表里的该书编号Bno对应的数量quanity自动减一
谢谢各位了
能不能更详细点,菜鸟啊,谢了
我不是在写程序,不需要主变量,从变量之类的东西,只是在查询分析器里写代码,实习啊!!
谢了
为什么每次都说"等号附近有语法错误"??
就像quanity=quanity-1

quanity就是int的啊
我的quanity是由一个视图统计出来的,是同一类书的总数量,
由count(Bno)而来,应该就是int的

服务器: 消息 170,级别 15,状态 1,过程 update_K_view,行 4
第 4 行: '@bno' 附近有语法错误。
服务器: 消息 137,级别 15,状态 1,过程 update_K_view,行 6
必须声明变量 '@bno'。
服务器: 消息 137,级别 15,状态 1,过程 update_K_view,行 9
必须声明变量 '@bno'。

怎么申明变量??

我感觉最确切的应该这么写
create trigger trigger_name
on 销售表
after insert
as
update 库存表 set quanity=quanity-(select quanity from insert)
where Bon in (select Bon from insert)
这样保证在你销售的数量同时减去你库存的数量
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-03
create trigger--创建触发器
on 销售表--在销售表上
for insert--这是一个添加触发器
declare @bno int--定义变量,,int类型
select @bno=bno from inserted--从你的添加记录中查找bno编号,,然后赋给变量@bno
update 库存表 set quanity=quanity-1 where Bno=@bno--更新库存表。。条件为@bno

忘写一个东西了。。。不好意思 啊 。。。@bno前面加个declare

你quanity不是一个表里的一列?
第2个回答  2008-07-03
create trigger 触发器名
on 销售表
after insert
as
begin
update 库存表 set quanity=quanity-1 where Bno.=(select Bno. from inserted )
end

试试这个

这样声明
declare @bno 类型
set @bno=值
相似回答