日期:2014-05-18  浏览次数:20603 次

有关触发器插入数据修改,更新,赋值,的问题,在两个表中(在线急等)
有两个相关联的表,比如A表和B表.   A表是一直有插入的数据,B表是固定的,   他们通过A.a   =   B.b1相关联在一起.通过A.a查找B表中的数据.    
  现在要写一个触发器,比如当往A表中插入的数据如果是   A.a   =   ?000124   时,就要取出 '? '号,(不是的话就不处理)然后在取到问号后面的数字 '000124 ',使A.a   =   B.b1(这时B表中有个字段值和他才相同)   这时通过B.b1从B表中找出另一字段值B.b2,最后要把   B.b2   赋值给   A.a(使A.a   =   B.b)
现在要写个触发器,就要实现这功能.      

第一次写触发器,   请大家指教一下~~
我写了个,可是不对,他把原来在表中的数据都修改了,我要的是只修改正在插入的数据

------解决方案--------------------
LZ貼出A,B表的結構,最好加上點數據,然後說出需要的結果,不然還真很難理解啊
------解决方案--------------------
多了個,號

Create Trigger Update_A On A
Instead Of Insert
As
Begin
Insert A
Select
stu_name,
type,
(Case Left(T1.src, 1) When '? ' Then T2.B2 Else T1.src End) As src,
startTm,
endTm,
value --注意這裡,如果還有別的字段,在後面繼續加上
From
Inserted T1
Left Join
B T2
On Stuff(T1.src, 1, 1, ' ') = T2.B1
End
GO