求个 sql 触发器!

auqfiudh 2016-06-01 10:06:44
货款表(编号,货款地,登记人,登记时间)
员工表(编号,姓名,工作地,手机)


当 货款表 里插入数据时
就 修改表字段

货款表.货款地 =员工表.工作地

条件是

货款表.登记人=员工表.姓名
货款表.货款地 is null
...全文
106 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 版主 2016-06-01
  • 打赏
  • 举报
回复
inserted 就是你刚写入的这条(或这些条)记录;
auqfiudh 2016-06-01
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:

create table emp(eid int, addr varchar(10))
go
create table tra(tid int, eid int, addr varchar(10))
go
create trigger tra_ins 
on tra after insert 
as
begin
    update tra set tra.addr = emp.addr
    from tra , inserted , emp 
    where tra.eid = emp.eid and tra.tid = inserted.tid
end
go
insert into emp values(100,'ShangHai'),(200,'Hebei')
insert into tra(tid, eid) values(1,100)
go
select * from tra 
go
drop table tra , emp 
go


(1 行受影响)
tid         eid         addr
----------- ----------- ----------
1           100         ShangHai

(1 行受影响)


第10行的 inserted是做什么 用的?
卖水果的net 版主 2016-06-01
  • 打赏
  • 举报
回复

create table emp(eid int, addr varchar(10))
go
create table tra(tid int, eid int, addr varchar(10))
go
create trigger tra_ins 
on tra after insert 
as
begin
    update tra set tra.addr = emp.addr
    from tra , inserted , emp 
    where tra.eid = emp.eid and tra.tid = inserted.tid
end
go
insert into emp values(100,'ShangHai'),(200,'Hebei')
insert into tra(tid, eid) values(1,100)
go
select * from tra 
go
drop table tra , emp 
go


(1 行受影响)
tid         eid         addr
----------- ----------- ----------
1           100         ShangHai

(1 行受影响)


34,593

社区成员

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

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