| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 530 人关注过本帖
标题:[求助] 触发器能否解决,怎么实现……
只看楼主 加入收藏
cg102
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-7-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
[求助] 触发器能否解决,怎么实现……
表A有字段 id (主键) xing_ming(姓名)bian_hao (编号) 、shu_liang (数量)。表B字段与表A一样。仅当表A的“姓名”、“编号”被修改时将修改之前的记录保存到表B。
比如表A为:id     xing_ming   bian_hao    shu_liang   
           00001   张三         001          100

当表A的“姓名”修改为李四时,表B插入一条“001 张三   100”的记录
搜索更多相关主题的帖子: 触发器 
2010-07-20 10:35
cg102
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-7-20
收藏
得分:0 
这里好冷清啊
2010-07-20 10:56
jiang11958
Rank: 1
等 级:新手上路
帖 子:3
专家分:9
注 册:2009-10-25
收藏
得分:6 
用触发器。

create trigger in_t--这里是触发器名
on A --这里是A表名
for update
as
  declare @name varchar,@no varchar
  --从deleted临时表中获得插入的记录行信息
  select @name = name from deleted
  select @no = bian_hao from deleted
  if @name<> (select name from inserted) and @no<> (select bian_hao from inserted)

  select *  into B from deleted

go
2010-07-20 15:08
aei135
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:232
专家分:1176
注 册:2009-4-6
收藏
得分:6 
create trigger tri_test
on A
for update
as
if(columns_updated()&6)>0
insert into B(xing_ming,bian_hao,shu_liang)
select xing_ming,bian_hao,shu_liang from deleted
2010-07-21 09:48
dearwolf4128
Rank: 5Rank: 5
来 自:陕西西安
等 级:职业侠客
威 望:6
帖 子:79
专家分:365
注 册:2010-7-2
收藏
得分:6 
create trigger tri_test
on A
before update         --注意:关键是这里的before ,如果没有,那原始数据就不会保存到变量中去
as
 declare @name varchar,@no varchar,@id int,@shu_liang int
 begin
        select @name = name from deleted
        select @bian_hao = bian_hao from deleted
        select @id= id from deleted
        select @shu_liang = shu_liang from deleted
        if (@name<> (select name from inserted) and @bian_hao<> (select bian_hao from inserted))
           begin
                 insert into 表B values(@id,@name,@bian_hao,@shu_liang)
           end
         
 end
2010-07-22 18:02
快速回复:[求助] 触发器能否解决,怎么实现……
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019585 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved