关于同时跟新两张表

suzhou2009 2009-09-17 03:39:43
有两张表 入库表indepot 在库表ondepot

怎样才能在我往indepot插入新的在库数量后 ondepot及时跟新它的在库数量
...全文
54 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQL77 2009-09-17
  • 打赏
  • 举报
回复
触发器,或级联
csdyyr 2009-09-17
  • 打赏
  • 举报
回复
--完整的
create trigger trigger_name on indepot
as
update ondepot
set stock=stock+i.inqty
from ondepot as o join inserted as i
on i.keyfield=o.keyfield

insert ondepot(keyfield,stock)
select i.keyfield,inqty
from inserted as i left join ondepot as o
on i.keyfield=o.keyfield
where o.keyfield is null
wgsasd311 2009-09-17
  • 打赏
  • 举报
回复
使用触发器或是通过程序流程实现,入库时同时更新出库表
csdyyr 2009-09-17
  • 打赏
  • 举报
回复
create trigger trigger_name on indepot
as
update ondepot
set stock=stock+i.inqty
from ondepot as o join inserted as i
on i.keyfield=o.keyfield

zhaoyh0530 2009-09-17
  • 打赏
  • 举报
回复
用触发器可以实现
xiequan2 2009-09-17
  • 打赏
  • 举报
回复
这种问题很适合用触发器
dawugui 2009-09-17
  • 打赏
  • 举报
回复
希望你能看懂.

--触发器的操作1

create table 化验室纱组(本厂编号 int,客户 int,色号 int,纱支 int)
create table 化验室布组(本厂编号 int,客户 int,色号 int,布类 int)
go
create trigger my_trig on 化验室纱组 for insert ,update ,delete
as
if not exists(select 1 from inserted)
delete 化验室布组 from deleted t where 化验室布组.本厂编号 = t.本厂编号
else if not exists(select 1 from deleted)
insert into 化验室布组(本厂编号 ,客户 ,色号) select 本厂编号 ,客户 ,色号 from inserted
else
update 化验室布组 set 客户 = t.客户 , 色号 = t.色号 from inserted t where 化验室布组.本厂编号 = t.本厂编号
go

--1、insert 对化验室纱组插入数据,然后查看化验室布组表的数据
insert into 化验室纱组 values(1 , 2 , 3 , 4)
insert into 化验室纱组 values(5 , 6 , 7 , 8)
go
select * from 化验室布组
/*
本厂编号 客户 色号 布类
----------- ----------- ----------- -----------
1 2 3 NULL
5 6 7 NULL

(所影响的行数为 2 行)
*/

--2、update , 更改化验室纱组表中本厂编号=1的色号=6
update 化验室纱组 set 色号 = 6 where 本厂编号 = 1
go
select * from 化验室布组
/*
本厂编号 客户 色号 布类
----------- ----------- ----------- -----------
1 2 6 NULL
5 6 7 NULL

(所影响的行数为 2 行)
*/

--3、delete 化验室纱组表中本厂编号=1的那条数据
delete from 化验室纱组 where 本厂编号 = 1
go
select * from 化验室布组
/*
本厂编号 客户 色号 布类
----------- ----------- ----------- -----------
5 6 7 NULL

(所影响的行数为 1 行)
*/

drop table 化验室纱组 , 化验室布组
dawugui 2009-09-17
  • 打赏
  • 举报
回复
使用触发器完成.

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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