· 5 years ago · Jul 03, 2020, 09:54 PM
1USE [Magazyn]
2GO
3
4/****** Object: Trigger [dbo].[faktury_trig] Script Date: 2020-06-16 20:02:14 ******/
5SET ANSI_NULLS ON
6GO
7
8SET QUOTED_IDENTIFIER ON
9GO
10
11CREATE TRIGGER [dbo].[faktury_trig]
12 ON [Magazyn].[dbo].[Faktury]
13 instead of update
14AS
15BEGIN
16 -- SET NOCOUNT ON added to prevent extra result sets from
17 -- interfering with SELECT statements.
18 SET NOCOUNT ON;
19
20
21 if not exists (select * from inserted
22 inner join Magazyn.dbo.Rejestr_dostawcow as rd on inserted.Id_dostawcy=rd.Id_dostawcy
23 inner join Hurtownie.dbo.Dostawcy as dos on (dos.Adres=rd.Adres_dostawcy and dos.Numer_telefonu=rd.Numer_telefonu)
24 inner join Magazyn.dbo.Rejestr_sklepow as rs on rs.id_sklepu=inserted.numer_sklepu
25 inner join Hurtownie.dbo.Sklep as hs on hs.nazwa=rs.nazwa_sklepu inner join Hurtownie.dbo.Magazyn as mag on mag.Lokalizacja=inserted.Lokalizacja_magazynu)
26 begin
27 if exists (select * from Temp_error.dbo.Faktury as fakt inner join deleted on fakt.Id_faktury=deleted.Id_faktury)
28 begin
29 update Temp_error.dbo.Faktury
30 set data_bledu=getdate() from Temp_error.dbo.Faktury as fakt
31 inner join inserted on fakt.Id_faktury=inserted.Id_faktury
32 end
33
34 insert into Temp_error.dbo.Faktury (Id_faktury,Data_dostawy,Rodz_produktu,Ilosc_produktu,Id_dostawcy,Lokalizacja_magazynu,numer_sklepu,data_bledu)
35 select inserted.Id_faktury,inserted.Data_dostawy,inserted.Rodz_produktu,inserted.Ilosc_produktu,inserted.Id_dostawcy,inserted.Lokalizacja_magazynu,inserted.numer_sklepu,null from inserted
36 inner join Hurtownie.dbo.Dostawa_key as keys on keys.id_mag=inserted.Id_faktury
37 inner join Hurtownie.dbo.Dostawa as dos on keys.id_hurt=dos.Id_dostawy
38 inner join Hurtownie.dbo.Dostawcy as dostawcy on dostawcy.Id_dostawcy=dos.Id_dostawcy
39 inner join Hurtownie.dbo.Sklep as sklep on sklep.id_sklep=dos.id_sklep
40 inner join Hurtownie.dbo.Miasta as miast on miast.Id_miasta=sklep.Id_miasta
41 inner join Hurtownie.dbo.Magazyn as mag on mag.Id_magazyn=dos.Id_magazyn
42 end
43 else
44 begin
45 if exists (select * from Temp_update.dbo.Faktury as fakt inner join deleted on fakt.Id_faktury=deleted.Id_faktury)
46 begin
47 update Temp_update.dbo.Faktury
48 set data_utraty_waznosci=getdate()
49 from Temp_update.dbo.Faktury as fakt
50 inner join deleted on deleted.Id_faktury= fakt.Id_faktury
51 end
52 update Temp_insert.dbo.Faktury
53 set Data_dostawy=inserted.Data_dostawy, Rodz_produktu=inserted.Rodz_produktu, Ilosc_produktu=inserted.Ilosc_produktu, Id_dostawcy=inserted.Id_dostawcy, Lokalizacja_magazynu=inserted.Lokalizacja_magazynu, numer_sklepu=inserted.numer_sklepu from Magazyn.dbo.Faktury as fakt
54 inner join inserted on inserted.Id_faktury=fakt.Id_faktury
55 insert into Temp_update.dbo.Faktury(Id_faktury,Data_dostawy,Rodz_produktu,Ilosc_produktu,Id_dostawcy,Lokalizacja_magazynu,numer_sklepu,data_utworzenia)
56 select deleted.Id_faktury,deleted.Data_dostawy,deleted.Rodz_produktu,deleted.Ilosc_produktu,deleted.Id_dostawcy,deleted.Lokalizacja_magazynu,deleted.numer_sklepu, ins.data_utworzenia from deleted
57 inner join Temp_insert.dbo.Faktury ins on deleted.Id_faktury=ins.Id_faktury
58 group by deleted.Id_faktury,deleted.Data_dostawy,deleted.Rodz_produktu,deleted.Ilosc_produktu,deleted.Id_dostawcy,deleted.Lokalizacja_magazynu,deleted.numer_sklepu, ins.data_utworzenia
59 end
60
61
62
63
64END
65GO
66
67ALTER TABLE [dbo].[Faktury] ENABLE TRIGGER [faktury_trig]
68GO
69
70
71
72USE [Magazyn]
73GO
74
75/****** Object: Trigger [dbo].[prac_trig] Script Date: 2020-06-16 20:02:29 ******/
76SET ANSI_NULLS ON
77GO
78
79SET QUOTED_IDENTIFIER ON
80GO
81
82CREATE TRIGGER [dbo].[prac_trig]
83 ON [Magazyn].[dbo].[Pracownicy]
84 AFTER update
85AS
86BEGIN
87 -- SET NOCOUNT ON added to prevent extra result sets from
88 -- interfering with SELECT statements.
89 SET NOCOUNT ON;
90
91 insert into Temp_update.dbo.Pracownicy(Imie,Nazwisko,Data_zatrudnienia,Data_zwolnienia,Data_Utworzenia,Pesel)
92 select del.Imie,del.Nazwisko,del.Data_zatrudnienia,del.Data_zwolnienia,Data_utworzenia,del.Pesel from deleted as del
93 inner join Temp_insert.dbo.Pracownicy as prac on del.Pesel=prac.Pesel
94
95
96
97END
98GO
99
100ALTER TABLE [dbo].[Pracownicy] ENABLE TRIGGER [prac_trig]
101GO
102
103
104USE [Magazyn]
105GO
106
107/****** Object: Trigger [dbo].[dos_trig] Script Date: 2020-06-16 20:02:44 ******/
108SET ANSI_NULLS ON
109GO
110
111SET QUOTED_IDENTIFIER ON
112GO
113
114CREATE TRIGGER [dbo].[dos_trig]
115 ON [Magazyn].[dbo].[Rejestr_dostawcow]
116 AFTER update
117AS
118BEGIN
119 -- SET NOCOUNT ON added to prevent extra result sets from
120 -- interfering with SELECT statements.
121 SET NOCOUNT ON;
122
123 insert into Temp_update.dbo.Rejestr_dostawcow(Id_dostawcy,Imie_dostawcy,Nazwisko_dostawcy,Numer_telefonu,Adres_dostawcy,data_utworzenia)
124 select rdos.Id_dostawcy, rdos.Imie_dostawcy, rdos.Nazwisko_dostawcy, rdos.Numer_telefonu, rdos.Adres_dostawcy, Data_utworzenia from deleted
125 inner join Temp_insert.dbo.Rejestr_dostawcow as rdos on rdos.Id_dostawcy=deleted.Id_dostawcy
126
127
128
129
130END
131GO
132
133ALTER TABLE [dbo].[Rejestr_dostawcow] ENABLE TRIGGER [dos_trig]
134GO
135
136
137USE [Magazyn]
138GO
139
140/****** Object: Trigger [dbo].[sklep_trig] Script Date: 2020-06-16 20:03:15 ******/
141SET ANSI_NULLS ON
142GO
143
144SET QUOTED_IDENTIFIER ON
145GO
146
147CREATE TRIGGER [dbo].[sklep_trig]
148 ON [Magazyn].[dbo].[Rejestr_sklepow]
149 AFTER update
150AS
151BEGIN
152 -- SET NOCOUNT ON added to prevent extra result sets from
153 -- interfering with SELECT statements.
154 SET NOCOUNT ON;
155
156 if exists (select * from Hurtownie.dbo.Miasta as ms inner join inserted on inserted.miasto=ms.Nazwa_miasta)
157 begin
158 if exists (select * from Temp_update.dbo.Rejestr_sklepow as sk inner join deleted on sk.id_sklepu=deleted.id_sklepu)
159 begin
160 update Temp_update.dbo.Rejestr_sklepow
161 set data_utraty_waznosci=getdate()
162 from Temp_update.dbo.Rejestr_sklepow as sk
163 inner join inserted on sk.id_sklepu=sk.id_sklepu
164 end
165 insert into Temp_update.dbo.Rejestr_sklepow(id_sklepu,nazwa_sklepu,miasto,data_utworzenia)
166 select deleted.id_sklepu, deleted.nazwa_sklepu, deleted.miasto, rsklep.data_utworzenia from deleted
167 inner join Temp_insert.dbo.Rejestr_sklepow as rsklep on rsklep.id_sklepu=deleted.id_sklepu
168 end
169 else
170 if exists (select * from Temp_error.dbo.Rejestr_sklepow as sk inner join deleted on sk.id_sklepu=deleted.id_sklepu)
171 begin
172 update Temp_error.dbo.Rejestr_sklepow
173 set data_naprawy_bledu =getdate()
174 from Temp_error.dbo.Rejestr_sklepow as sk
175 inner join inserted on sk.id_sklepu=sk.id_sklepu
176 end
177 begin
178 insert into Temp_error.dbo.Rejestr_sklepow(id_sklepu,nazwa_sklepu,miasto)
179 select * from inserted
180 end
181
182END
183GO
184
185ALTER TABLE [dbo].[Rejestr_sklepow] ENABLE TRIGGER [sklep_trig]
186GO
187
188USE [Magazyn]
189GO
190
191/****** Object: Trigger [dbo].[szkol_trig] Script Date: 2020-06-16 20:03:28 ******/
192SET ANSI_NULLS ON
193GO
194
195SET QUOTED_IDENTIFIER ON
196GO
197
198CREATE TRIGGER [dbo].[szkol_trig]
199 ON [Magazyn].[dbo].[Zrealizowane_kursy]
200 instead of update
201AS
202BEGIN
203 -- SET NOCOUNT ON added to prevent extra result sets from
204 -- interfering with SELECT statements.
205 SET NOCOUNT ON;
206
207 if exists (select * from Hurtownie.dbo.Szkolenie as szkol inner join inserted on inserted.Nazwa_szkolenia=szkol.Nazwa_Szkolenia inner join Hurtownie.dbo.Pracownicy as prac on (inserted.Imie_pracownika=prac.Imie and inserted.Nazwisko_pracownika=prac.Nazwisko))
208 begin
209 if exists (select * from Temp_update.dbo.Zrealizowane_kursy as sk inner join deleted on sk.Id_kursu=deleted.Id_kursu)
210 begin
211 update Temp_update.dbo.Zrealizowane_kursy
212 set data_utraty_waznosci=getdate()
213 from Temp_update.dbo.Zrealizowane_kursy as sk
214 inner join inserted on sk.Id_kursu=sk.Id_kursu
215 end
216 update Magazyn.dbo.Zrealizowane_kursy
217 set Imie_pracownika=inserted.Imie_pracownika, Nazwisko_pracownika=inserted.Nazwisko_pracownika, Nazwa_szkolenia=inserted.Nazwa_szkolenia
218 from Magazyn.dbo.Zrealizowane_kursy as k inner join inserted on k.Id_kursu=inserted.Id_kursu
219 insert into Temp_update.dbo.Zrealizowane_kursy(Id_kursu,Imie_pracownika,Nazwisko_pracownika,Nazwa_szkolenia,Data_utworzenia)
220 select deleted.Id_kursu,deleted.Imie_pracownika, deleted.Nazwisko_pracownika,deleted.Nazwa_szkolenia, data_utworzenia from deleted
221 inner join Temp_insert.dbo.Zrealizowane_kursy as kurs on deleted.Id_kursu=kurs.Id_kursu
222 end
223 else
224 begin
225 if exists (select * from Temp_error.dbo.Zrealizowane_kursy as sk inner join deleted on sk.Id_kursu=deleted.Id_kursu)
226 begin
227 update Temp_error.dbo.Zrealizowane_kursy
228 set data_naprawy_bledu=getdate()
229 from Temp_error.dbo.Zrealizowane_kursy as sk
230 inner join inserted on sk.Id_kursu=sk.Id_kursu
231 end
232 insert into Temp_error.dbo.Zrealizowane_kursy(Id_kursu,Imie_pracownika,Nazwisko_pracownika,Nazwa_szkolenia)
233 select * from inserted
234 end
235
236
237END
238GO
239
240ALTER TABLE [dbo].[Zrealizowane_kursy] ENABLE TRIGGER [szkol_trig]
241GO
242
243
244
245USE [Magazyn]
246GO
247
248/****** Object: Trigger [dbo].[zwollek_trig] Script Date: 2020-06-16 20:03:41 ******/
249SET ANSI_NULLS ON
250GO
251
252SET QUOTED_IDENTIFIER ON
253GO
254
255CREATE TRIGGER [dbo].[zwollek_trig]
256 ON [Magazyn].[dbo].[Zwolnienia_lekarskie]
257 instead of update
258AS
259BEGIN
260 -- SET NOCOUNT ON added to prevent extra result sets from
261 -- interfering with SELECT statements.
262 SET NOCOUNT ON;
263
264 if exists (select * from Hurtownie.dbo.Pracownicy as zwol inner join inserted on zwol.Pesel=inserted.Pesel_pracownika inner join Hurtownie.dbo.Lekarze as lek on inserted.Imie_lekarza=lek.imie and inserted.Nazwisko_lekarza=lek.nazwisko)
265 begin
266 if exists (select * from Temp_update.dbo.Zwolnienia_lekarskie as fakt inner join deleted on fakt.Id_zwolnienia=deleted.Id_zwolnienia)
267 begin
268 update Temp_update.dbo.Zwolnienia_lekarskie
269 set data_utraty_waznosci=getdate() from Temp_update.dbo.Zwolnienia_lekarskie as fakt
270 inner join inserted on fakt.Id_zwolnienia=inserted.Id_zwolnienia
271 end
272 update Magazyn.dbo.Zwolnienia_lekarskie
273 set Imie_pracownika=inserted.Imie_pracownika, Nazwisko_pracownika=inserted.Nazwisko_pracownika, Imie_lekarza=inserted.Imie_lekarza, Nazwisko_lekarza=inserted.Nazwisko_lekarza, Pesel_pracownika=inserted.Pesel_pracownika, Data_wystawienia=inserted.Data_wystawienia, Data_zatrudnienia=inserted.Data_zatrudnienia from Magazyn.dbo.Zwolnienia_lekarskie as zw
274 inner join inserted on inserted.Id_zwolnienia=zw.Id_zwolnienia
275 insert into Temp_update.dbo.Zwolnienia_lekarskie(Id_zwolnienia, Imie_pracownika, Nazwisko_pracownika, Pesel_pracownika, Data_zatrudnienia ,Data_wystawienia, Imie_lekarza, Nazwisko_lekarza, data_utworzenia)
276 select deleted.Id_zwolnienia, deleted.Imie_pracownika,deleted.Nazwisko_pracownika, deleted.Pesel_pracownika, deleted.Data_zatrudnienia, deleted.Data_wystawienia, deleted.Imie_lekarza, deleted.Nazwisko_lekarza, Data_utworzenia from deleted
277 inner join Temp_insert.dbo.Pracownicy as prac on prac.Pesel=deleted.Pesel_pracownika
278 end
279 else
280 begin
281if exists (select * from Temp_error.dbo.Zwolnienia_lekarskie as fakt inner join deleted on fakt.Id_zwolnienia=deleted.Id_zwolnienia)
282 begin
283 update Temp_error.dbo.Zwolnienia_lekarskie
284 set data_naprawy_bledu=getdate() from Temp_error.dbo.Zwolnienia_lekarskie as fakt
285 inner join inserted on fakt.Id_zwolnienia=inserted.Id_zwolnienia
286 end
287 insert into Temp_error.dbo.Zwolnienia_lekarskie(Id_zwolnienia, Imie_pracownika, Nazwisko_pracownika, Pesel_pracownika, Data_zatrudnienia ,Data_wystawienia, Imie_lekarza, Nazwisko_lekarza)
288 select inserted.Id_zwolnienia, inserted.Imie_pracownika,inserted.Nazwisko_pracownika, inserted.Pesel_pracownika, inserted.Data_zatrudnienia, inserted.Data_wystawienia, inserted.Imie_lekarza, inserted.Nazwisko_lekarza from inserted
289 end
290
291END
292GO
293
294ALTER TABLE [dbo].[Zwolnienia_lekarskie] ENABLE TRIGGER [zwollek_trig]
295GO