大家帮我写个触发器

来源:百度知道 编辑:UC知道 时间:2024/05/18 06:31:32
我有三张表:入库表 出库表 库存表 分别定义如下:
入库表:物品名 物品类型 规格型号 购入数量 等等其他无关的列
库存表:物品名 物品类型 规格型号 现库存数量
出库表:物品名 物品类型 规格型号 领取数量 等等其他无关的列

现要在入库表和出库表上分别写一个触发器 要求如下:

入库表中插入一条记录时eg('Thinkpad 笔记本','固定资产','T400','10'),先检查库存表中有没有'固定资产 Thinkpad T400'的记录 如果没有 则将这条记录加入到库存表中 如果有则将库存数量加上购入的数量10台

出库表中插入一条记录时eg('Thinkpad 笔记本','固定资产','T400','5'),
先检查库存数量 如果库存数量>=领用数量 那么允许领用 并将库存数量减去领用数量 如果库存数量<领用数量 那么拒绝领用 并给出警告:"库存不足"

不知道我给的这些信息够不够 大家帮帮忙 如果能用我再加分!谢谢了!
数据库是SQL server 2000

入库表 A
出库表 B
库存表 C

create trigger tirg_1 on A for inset as begin
@wupinname varchar(20)
@wupinleixin varchar(20)
@wupinspec varchar(20)
@qty int
@i int

select @wupinname=物品名 from inserted
select @wupinleixin=物品类型 from inserted
select @wupinspec=规格型号 from inserted
select @qty=购入数量 from inserted

select @i=count(*) from C
where 物品名=@wupinname
and 物品类型=@wupinleixin
and 规格型号= @wupinspec

if @i=0
begin
insert into C
select 物品名 ,物品类型, 规格型号 ,购入数量 from inseted
end

if @i<>0
begin
update C
set 现库存数量=现库存数量+@qty
where 物品名=@wupinname
and 物品类型=@wupinleixin
and 规格型号= @wupinspec
end

end

create trigger tirg_1 on B for inset as begin
@wupinname varchar(20)
@wupinleixin varchar(20)
@wupinspec varchar(20)
@qty int
@qty1 int
@i int

select @wupinname=物品名