数据库触发器问题

来源:百度知道 编辑:UC知道 时间:2024/06/28 16:57:48
现在我有一个商品表(SP)里面有一件商品的单价列(DJ)和一个仓库表(CK)也有这件商品的单价列(DJ)如何通过触发器使这两个表的两列同步,就是跟新其中一个另一个也自动更新。代码怎么写?
谢谢啦~

插入、更新同步
create trigger upsp on SP
for insert,update
as
declare @dj (dj的数据类型)

select @dj=dj from inserted

if @dj in (select dj from CK)
begin
update CK
set (要同步更新的列)
where dj=@dj
end
if @dj not in (select dj from CK)
begin
insert into CK (dj)
values (@dj)
end

删除同步
create trigger delsp on SP
for delete
declare @dj (dj的数据类型)
select @dj=dj from deleted
begin
delete from CK
where dj=@dj
end

其实用键的约束就行了,但是你要触发器,也行,如下~~
删除这件商品:
create trigger deletesp
on sp
for delete
as
delete ck from sp where ck.dj=sp.dj
添加这件商品:
create trigger insertsp
on sp
for insert
as
insert into ck where ck.dj=sp.dj
注--上述两个是根据价格判断商品,由于楼主没给其它数据,我只好这么写.有可能误删其它商品...
修改商品价格
create trigger updatesp
on sp
for update
as
update ck
set ck.dj=sp.dj

这个根本