· 6 years ago · Mar 16, 2019, 10:46 AM
1create trigger Trig on T2
2after insert, update, delete
3as
4 -- So that @@rowcount does not get affected by trigger code
5set NoCount on
6 -- If c3 column participated in update (it most certainly did in insert)
7if update(C3)
8begin
9 -- Insert or update triggered this operation
10 if exists (select * from Inserted)
11 begin
12 insert into P1 (C1, C2, C3)
13 select T1.C2, T1.C3, T2.C3 --INFORMATION THAT NEEDS TO BE TRANSFERRED
14 from T1
15 -- Inserted is a pseudotable holding inserted/updated data
16 inner join inserted T2
17 on T1.C1 = T2.C2
18 where T2.C4 <> 9 --DETERMINES IF RECORD NEEDS TO BE TRANSFERRED
19 end
20 else
21 -- Separate insert for deleted records
22 -- To simplify inserting additional info for deleted records only
23 begin
24 insert into P1 (C1, C2, C3)
25 select T1.C2, T1.C3, T2.C3 --INFORMATION THAT NEEDS TO BE TRANSFERRED
26 from T1
27 -- deleted is a pseudotable holding deleted/updated data
28 inner join deleted T2
29 on T1.C1 = T2.C2
30 where T2.C4 <> 9 --DETERMINES IF RECORD NEEDS TO BE TRANSFERRED
31 end
32 end
33
34SELECT RIGHT('0' + RTRIM(Number) + '0', 5) FROM dbo.TableName;
35
36declare @PINs as Table ( PIN Int )
37insert into @PINs ( PIN ) values ( 123 ), ( 4321 ), ( 12345 ), ( 5000 )
38select Left( Right( '0' + Cast( PIN as VarChar(5) ), 5 ) + '0', 5 )
39 from @PINs