· 8 years ago · Jun 11, 2018, 09:00 AM
1IF OBJECT_ID('adres', 'U') IS NOT NULL
2 DROP TABLE adres;
3
4IF OBJECT_ID('egzemplarz', 'U') IS NOT NULL
5 DROP TABLE egzemplarz;
6
7IF OBJECT_ID('kontakt', 'U') IS NOT NULL
8 DROP TABLE kontakt;
9
10IF OBJECT_ID('produktFaktura', 'U') IS NOT NULL
11 DROP TABLE produktFaktura;
12
13IF OBJECT_ID('produktZamowienie', 'U') IS NOT NULL
14 DROP TABLE produktZamowienie;
15
16IF OBJECT_ID('produkt', 'U') IS NOT NULL
17 DROP TABLE produkt;
18
19 IF OBJECT_ID('faktury', 'U') IS NOT NULL
20 DROP TABLE faktury;
21
22 IF OBJECT_ID('zamowienie', 'U') IS NOT NULL
23 DROP TABLE zamowienie;
24
25 IF OBJECT_ID('klient', 'U') IS NOT NULL
26 DROP TABLE klient;
27
28DROP PROC Dodaj_zamowienie;
29DROP PROC Dostawy;
30DROP PROC Koszyk;
31DROP PROC Usun_kontakt;
32DROP PROC Wstaw_klienta;
33DROP PROC Wstaw_kontakt;
34DROP PROC Wstaw_produkt;
35DROP PROC Zmodyfikuj_kontakt;
36
37DROP FUNCTION ListaProduktow;
38DROP FUNCTION ZamowieniaKlienta;
39DROP FUNCTION CenaZamowienia;
40
41DROP VIEW Dane_Klientow;
42DROP VIEW WszystkieZamowienia;
43
44
45CREATE TABLE klient
46 (
47 login VARCHAR (64) NOT NULL ,
48 haslo VARCHAR (64) NOT NULL ,
49 imie VARCHAR (64) NOT NULL CONSTRAINT ck_klient_imie CHECK (imie LIKE '[A-Z]%'),
50 nazwisko VARCHAR (64) NOT NULL CONSTRAINT ck_klient_nazw CHECK (nazwisko LIKE '[A-Z]%'),
51 nip VARCHAR (64) CONSTRAINT ck_klient_nip CHECK(nip LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
52 nazwa_firmy VARCHAR (64),
53 )
54 ON "default"
55GO
56
57ALTER TABLE klient ADD CONSTRAINT klient_PK PRIMARY KEY CLUSTERED (login)
58 WITH (
59 ALLOW_PAGE_LOCKS = ON ,
60 ALLOW_ROW_LOCKS = ON )
61 ON "default"
62 GO
63
64
65
66CREATE TABLE adres
67 (
68 klient_login VARCHAR (64) NOT NULL,
69 ulica VARCHAR (64) NOT NULL CONSTRAINT ck_adres_ul CHECK (ulica LIKE '[A-Z]%'),
70 nr_domu INTEGER NOT NULL CONSTRAINT ck_adres_dom CHECK (nr_domu > 0),
71 nr_lokalu INTEGER CONSTRAINT ck_adres_lok CHECK (nr_lokalu > 0),
72 kod_pocztowy VARCHAR (64) NOT NULL CONSTRAINT ck_adres_kod CHECK(kod_pocztowy LIKE '[0-9][0-9]-[0-9][0-9][0-9]'),
73 miasto VARCHAR (64) NOT NULL CONSTRAINT ck_adres_mia CHECK (miasto LIKE '[A-Z]%')
74 )
75 ON "default"
76GO
77
78ALTER TABLE adres ADD CONSTRAINT adres_PK PRIMARY KEY CLUSTERED (klient_login)
79 WITH (
80 ALLOW_PAGE_LOCKS = ON ,
81 ALLOW_ROW_LOCKS = ON )
82 ON "default"
83 GO
84
85
86
87CREATE TABLE kontakt
88 (
89 klient_login VARCHAR (64) NOT NULL,
90 nr_tel INTEGER NOT NULL CONSTRAINT ck_kont_tel CHECK(nr_tel LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
91 fax INTEGER NOT NULL CONSTRAINT ck_kont_fax CHECK(fax LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
92 email VARCHAR (64) NOT NULL CONSTRAINT ck_email_mal CHECK (email LIKE '%@%'),
93 )
94 ON "default"
95GO
96
97ALTER TABLE kontakt ADD CONSTRAINT kontakt_PK PRIMARY KEY CLUSTERED (klient_login)
98 WITH (
99 ALLOW_PAGE_LOCKS = ON ,
100 ALLOW_ROW_LOCKS = ON )
101 ON "default"
102 GO
103
104
105
106CREATE TABLE produkt
107 (
108 kod_produktu VARCHAR (64) NOT NULL ,
109 nazwa_produktu VARCHAR (64) NOT NULL CONSTRAINT ck_nazwprod_nazwa CHECK (nazwa_produktu LIKE '[A-Z]%'),
110 producent VARCHAR (64) NOT NULL CONSTRAINT ck_prod_prod CHECK (producent LIKE '[A-Z]%'),
111 cena_netto MONEY NOT NULL CONSTRAINT ck_cennet_cena CHECK (cena_netto > 0),
112 cena_brutto MONEY NOT NULL CONSTRAINT ck_cenbrut_cena CHECK (cena_brutto > 0),
113 kolor VARCHAR (64) NOT NULL ,
114 ilosc INTEGER NOT NULL CONSTRAINT ck_ilosc_ile CHECK (ilosc >=0),
115 kategoria VARCHAR (64) NOT NULL CONSTRAINT ck_kateg_kat CHECK (kategoria LIKE '[A-Z]%')
116 )
117 ON "default"
118GO
119
120ALTER TABLE produkt ADD CONSTRAINT produkt_PK PRIMARY KEY CLUSTERED (kod_produktu)
121 WITH (
122 ALLOW_PAGE_LOCKS = ON ,
123 ALLOW_ROW_LOCKS = ON )
124 ON "default"
125 GO
126
127
128
129CREATE TABLE faktury
130 (
131 faktura INTEGER NOT NULL ,
132 nr_faktury INTEGER NOT NULL CONSTRAINT ck_faktury_nr CHECK (nr_faktury > 0),
133 -- zamowienie_nr INTEGER NOT NULL CONSTRAINT ck_faktury_zam CHECK (zamowienie_nr > 0),
134 klient_login VARCHAR (64) NOT NULL,
135 data_sprzedazy DATETIME NOT NULL CONSTRAINT ck_faktury_data DEFAULT GETDATE(),
136 wartosc_netto MONEY NOT NULL CONSTRAINT ck_faktury_wn CHECK (wartosc_netto > 0),
137 wartosc_brutto MONEY NOT NULL CONSTRAINT ck_faktury_wb CHECK (wartosc_brutto > 0),
138 forma_platnosci VARCHAR (64) NOT NULL CONSTRAINT ck_faktury_forma CHECK (forma_platnosci IN ('przedplata', 'platnosc przy odbiorze')) DEFAULT 'przedplata'
139 )
140 ON "default"
141GO
142
143ALTER TABLE faktury ADD CONSTRAINT faktury_PK PRIMARY KEY CLUSTERED (faktura)
144 WITH (
145 ALLOW_PAGE_LOCKS = ON ,
146 ALLOW_ROW_LOCKS = ON )
147 ON "default"
148 GO
149
150
151
152CREATE TABLE produktFaktura
153 (
154 produkt_kod_produktu VARCHAR (64) NOT NULL,
155 faktury_faktura INTEGER NOT NULL
156 )
157 ON "default"
158GO
159
160ALTER TABLE produktFaktura ADD CONSTRAINT produktFaktura_PK PRIMARY KEY CLUSTERED (produkt_kod_produktu, faktury_faktura)
161 WITH (
162 ALLOW_PAGE_LOCKS = ON ,
163 ALLOW_ROW_LOCKS = ON )
164 ON "default"
165 GO
166
167
168
169CREATE TABLE egzemplarz
170 (
171 nr_seryjny INTEGER NOT NULL ,
172 produkt_kod_produktu VARCHAR (64) NOT NULL,
173 data_zakupu DATETIME NOT NULL CONSTRAINT ck_egz_datzak DEFAULT GETDATE(),
174 data_sprzedazy DATETIME,
175 czy_sprzedano INTEGER NOT NULL CONSTRAINT ck_egz_czy CHECK (czy_sprzedano IN ('0', '1')) DEFAULT '0'
176 )
177 ON "default"
178GO
179
180ALTER TABLE egzemplarz ADD CONSTRAINT egzemplarz_PK PRIMARY KEY CLUSTERED (nr_seryjny)
181 WITH (
182 ALLOW_PAGE_LOCKS = ON ,
183 ALLOW_ROW_LOCKS = ON )
184 ON "default"
185 GO
186
187
188
189CREATE TABLE zamowienie
190 (
191 id_zamowienia INTEGER NOT NULL ,
192 nr_zamowienia INTEGER NOT NULL CONSTRAINT ck_zam_nr CHECK (nr_zamowienia > 0),
193 klient_login VARCHAR (64) NOT NULL,
194 data_zlozenia DATETIME NOT NULL CONSTRAINT ck_zam_datzl DEFAULT GETDATE(),
195 data_realizacji DATETIME NOT NULL CONSTRAINT ck_zam_datreal DEFAULT DATEADD(day,3,GETDATE()),
196 data_wysylki DATETIME NOT NULL CONSTRAINT ck_zam_datwys DEFAULT DATEADD(day,3,GETDATE()),
197 forma_dostawy VARCHAR (64) NOT NULL CONSTRAINT ck_zam_forma CHECK (forma_dostawy IN ('kurier', 'poczta polska', 'odbior osobisty')) DEFAULT 'kurier',
198 koszt_dostawy INTEGER NOT NULL DEFAULT '30'
199 )
200 ON "default"
201GO
202
203ALTER TABLE zamowienie
204 ADD CONSTRAINT zamowienie_PK PRIMARY KEY CLUSTERED (id_zamowienia)
205 WITH (
206 ALLOW_PAGE_LOCKS = ON ,
207 ALLOW_ROW_LOCKS = ON )
208 ON "default"
209 GO
210
211
212
213CREATE TABLE produktZamowienie
214 (
215 produkt_kod_produktu VARCHAR (64) NOT NULL,
216 zamowienie_nr INTEGER NOT NULL
217 )
218 ON "default"
219GO
220
221ALTER TABLE produktZamowienie ADD CONSTRAINT produktZamowienie_PK PRIMARY KEY CLUSTERED (produkt_kod_produktu, zamowienie_nr)
222 WITH (
223 ALLOW_PAGE_LOCKS = ON ,
224 ALLOW_ROW_LOCKS = ON )
225 ON "default"
226 GO
227
228
229
230
231-- Relacje
232
233
234ALTER TABLE adres
235 ADD CONSTRAINT adres_klient_FK FOREIGN KEY
236 (
237 klient_login
238 )
239 REFERENCES klient
240 (
241 login
242 )
243 ON DELETE NO ACTION
244 ON UPDATE NO ACTION
245GO
246
247ALTER TABLE egzemplarz
248 ADD CONSTRAINT egzemplarz_produkt_FK FOREIGN KEY
249 (
250 produkt_kod_produktu
251 )
252 REFERENCES produkt
253 (
254 kod_produktu
255 )
256 ON DELETE NO ACTION
257 ON UPDATE NO ACTION
258GO
259
260
261
262ALTER TABLE faktury
263 ADD CONSTRAINT faktury_klient_FK FOREIGN KEY
264 (
265 klient_login
266 )
267 REFERENCES klient
268 (
269 login
270 )
271 ON DELETE NO ACTION
272 ON UPDATE NO ACTION
273GO
274
275
276ALTER TABLE kontakt
277 ADD CONSTRAINT kontakt_klient_FK FOREIGN KEY
278 (
279 klient_login
280 )
281 REFERENCES klient
282 (
283 login
284 )
285 ON DELETE NO ACTION
286 ON UPDATE NO ACTION
287GO
288
289ALTER TABLE produktFaktura
290 ADD CONSTRAINT produktFaktura_faktury_FK FOREIGN KEY
291 (
292 faktury_faktura
293 )
294 REFERENCES faktury
295 (
296 faktura
297 )
298 ON DELETE NO ACTION
299 ON UPDATE NO ACTION
300GO
301
302ALTER TABLE produktFaktura
303 ADD CONSTRAINT produktFaktura_produkt_FK FOREIGN KEY
304 (
305 produkt_kod_produktu
306 )
307 REFERENCES produkt
308 (
309 kod_produktu
310 )
311 ON DELETE NO ACTION
312 ON UPDATE NO ACTION
313GO
314
315ALTER TABLE produktZamowienie
316 ADD CONSTRAINT produktZamowienie_produkt_FK FOREIGN KEY
317 (
318 produkt_kod_produktu
319 )
320 REFERENCES produkt
321 (
322 kod_produktu
323 )
324 ON DELETE NO ACTION
325 ON UPDATE NO ACTION
326GO
327
328ALTER TABLE produktZamowienie
329 ADD CONSTRAINT produktZamowienie_zamowienie_FK FOREIGN KEY
330 (
331 zamowienie_nr
332 )
333 REFERENCES zamowienie
334 (
335 id_zamowienia
336 )
337 ON DELETE NO ACTION
338 ON UPDATE NO ACTION
339GO
340
341
342ALTER TABLE zamowienie
343 ADD CONSTRAINT zamowienie_klient_FK FOREIGN KEY
344 (
345 klient_login
346 )
347 REFERENCES klient
348 (
349 login
350 )
351 ON DELETE NO ACTION
352 ON UPDATE NO ACTION
353GO
354
355INSERT INTO klient VALUES
356( 'Nazar03' , 'xppew%^85' , 'Nazar' ,'Staron' ,'68572088910' ,'Bosch Sp.z o.o.' ),
357( 'Przemko27' , 'ogioe(!54' , 'Przemko' ,'Rozek' ,'37382448272' ,'Okno Company' ),
358( 'Wili65' , 'lmedn*!59' , 'Wili' ,'Galkowski' ,'76895392878' ,'Ryba S.A.' ),
359( 'Hartmund24' , 'mfmer^%45' , 'Hartmund' ,'Jurewicz' ,'13436056105' ,'Canon Company' ),
360( 'Aurela54' , 'hqaug@$03' , 'Aurela' ,'Biesiada' ,'21858979550' ,'Olympus Company' ),
361( 'Mieryclawa42' , 'amxqz%^09' , 'Mieryclawa' ,'Szumski' ,'69967491286' ,'Ryba Sp.z o.o.' ),
362( 'Lilla82' , 'pclqn&%40' , 'Lilla' ,'Budnik' ,'17392732311' ,'Okno Company' ),
363( 'Felicytes30' , 'zfmyc%#76' , 'Felicytes' ,'Kijak' ,'64545923690' ,'Olympus Industries' ),
364( 'Rodolf72' , 'loxdw@)47' , 'Rodolf' ,'Banka' ,'24446607675' ,'Ryba Company' ),
365( 'Hamid56' , 'tttkl%&20' , 'Hamid' ,'Wesoloski' ,'45448760871' ,'Ryba Industries' ),
366( 'Wasilika11' , 'kfpis(&74' , 'Wasilika' ,'Brozek' ,'47721984190' ,'Canon Sp.z o.o.' ),
367( 'Edda16' , 'zxkli#%49' , 'Edda' ,'Chudzik' ,'17971493081' ,'Okno Company' ),
368( 'Kiura33' , 'srlcz##69' , 'Kiura' ,'Marecki' ,'72654823686' ,'Ryba S.A.' ),
369( 'Druzjanna54' , 'tbrda$)11' , 'Druzjanna' ,'Golombek' ,'34456709178' ,'Olympus Sp.z o.o.' ),
370( 'Praskowia44' , 'pcltx^)98' , 'Praskowia' ,'Goscinski' ,'21404671882' ,'Olympus Company' ),
371( 'Przemko63' , 'jlvpm^^94' , 'Przemko' ,'Glogowski' ,'96834940813' ,'Olympus Industries' ),
372( 'Margaryta24' , 'zmjsb*#80' , 'Margaryta' ,'Gawrych' ,'77978697139' ,'Okno S.A.' ),
373( 'Szymeon06' , 'smucj&(28' , 'Szymeon' ,'Wielgus' ,'94876010755' ,'Sony Company' ),
374( 'Tomomasa41' , 'kmtvm**58' , 'Tomomasa' ,'Lipa' ,'63627356983' ,'Okno Company' ),
375( 'Bob44' , 'ozmpv$(44' , 'Bob' ,'Sitkowski' ,'71836201010' ,'Sony Sp.z o.o.' ),
376( 'Malik48' , 'sogun^&08' , 'Malik' ,'Slomkowski' ,'92821518933' ,'Olympus Company' ),
377( 'Simion81' , 'bwlpz#$79' , 'Simion' ,'Mlynarski' ,'53936755672' ,'Ryba Company' ),
378( 'Joachem45' , 'wnoem&@37' , 'Joachem' ,'Lata' ,'69398435112' ,'Canon Industries' ),
379( 'Otilda81' , 'ivvjm%(68' , 'Otilda' ,'Bienkowski' ,'44274915128' ,'Ryba S.A.' ),
380( 'Jacenty74' , 'rlosk&%45' , 'Jacenty' ,'Stepnowski' ,'47648789276' ,'Okno S.A.' ),
381( 'Hellena74' , 'mmuxd*!08' , 'Hellena' ,'Karwowski' ,'18048541365' ,'Bosch Sp.z o.o.' ),
382( 'Stamislaw14' , 'bxnfs^(77' , 'Stamislaw' ,'Filipkowski' ,'20766512746' ,'Okno Sp.z o.o.' ),
383( 'Bogodar74' , 'lqiin#^61' , 'Bogodar' ,'Kozak' ,'76475325916' ,'Sony Industries' ),
384( 'Melcyda51' , 'ezisd%!66' , 'Melcyda' ,'Bonar' ,'11313531310' ,'Bosch S.A.' ),
385( 'Sawery85' , 'mxuos#*10' , 'Sawery' ,'Siuda' ,'61353501288' ,'Olympus S.A.' ),
386( 'Wieczeslawa25' , 'yvxep@@97' , 'Wieczeslawa' ,'Wajda' ,'66461047543' ,'Olympus Sp.z o.o.' ),
387( 'Imogena62' , 'gakvl^&10' , 'Imogena' ,'Ogonowski' ,'68877343760' ,'Ryba S.A.' ),
388( 'Golfrida87' , 'jyydg%(61' , 'Golfrida' ,'Kaczmarczyk' ,'77075101450' ,'Ryba Company' ),
389( 'Serwiliusz01' , 'aqfwf!!36' , 'Serwiliusz' ,'Zuraw' ,'83463405113' ,'Bosch Industries' ),
390( 'Boghdan50' , 'mgohy(%76' , 'Boghdan' ,'Blaszkiewicz' ,'88262370905' ,'Sony Company' ),
391( 'Alim32' , 'nfeuz^@57' , 'Alim' ,'Banka' ,'72727889390' ,'Olympus Sp.z o.o.' ),
392( 'Margo61' , 'sjgeu$!15' , 'Margo' ,'Niemczyk' ,'56223173401' ,'Sony Industries' ),
393( 'Hersz03' , 'isswi#^70' , 'Hersz' ,'Terlecki' ,'44180387880' ,'Okno Company' ),
394( 'Azacja62' , 'gerrd^(80' , 'Azacja' ,'Piechowski' ,'20796217132' ,'Bosch S.A.' ),
395( 'Reinert88' , 'uwkfu*%34' , 'Reinert' ,'Chromy' ,'72037990952' ,'Bosch Company' ),
396( 'Zhanna20' , 'hljzz%)72' , 'Zhanna' ,'Gracyalny' ,'37113056472' ,'Ryba Sp.z o.o.' ),
397( 'Klementyna03' , 'calhd))95' , 'Klementyna' ,'Nycz' ,'53323024333' ,'Canon Sp.z o.o.' ),
398( 'Bibian45' , 'ywpfh*&78' , 'Bibian' ,'Gardocki' ,'67525238067' ,'Okno S.A.' ),
399( 'Frida31' , 'lmwrf!#04' , 'Frida' ,'Andrzejewski' ,'40297098423' ,'Ryba Sp.z o.o.' ),
400( 'Ignaca73' , 'zjhzm&!79' , 'Ignaca' ,'Paczkowski' ,'71180829079' ,'Olympus Company' ),
401( 'Lubomierz36' , 'kfzkx#@22' , 'Lubomierz' ,'Kolinski' ,'90632904638' ,'Olympus Company' ),
402( 'Annelisa78' , 'mtgwb)$18' , 'Annelisa' ,'Stodola' ,'66241811186' ,'Okno S.A.' ),
403( 'Ermelinda06' , 'tyeee$%03' , 'Ermelinda' ,'Golab' ,'65846945156' ,'Sony Industries' ),
404( 'Ruggero43' , 'aizkw)*40' , 'Ruggero' ,'Ciesielski' ,'37559841258' ,'Okno S.A.' ),
405( 'Mahmet74' , 'hhcxs*@99' , 'Mahmet' ,'Smialy' ,'42112595635' ,'Ryba Sp.z o.o.' )
406
407
408
409INSERT INTO kontakt VALUES
410( 'Nazar03' , '217078011' , '516172366' ,'Nazar03@o2.pl' ),
411( 'Przemko27' , '411777637' , '219058621' ,'Przemko27@gmail.com' ),
412( 'Wili65' , '781391787' , '256418182' ,'Wili65@onet.pl' ),
413( 'Hartmund24' , '822558684' , '683649848' ,'Hartmund24@gmail.com' ),
414( 'Aurela54' , '576621471' , '916369357' ,'Aurela54@amu.edu.pl' ),
415( 'Mieryclawa42' , '769405553' , '996205813' ,'Mieryclawa42@hotmail.com' ),
416( 'Lilla82' , '822362708' , '634034785' ,'Lilla82@interia.pl' ),
417( 'Felicytes30' , '196210713' , '646557368' ,'Felicytes30@gmail.com' ),
418( 'Rodolf72' , '253028845' , '498853233' ,'Rodolf72@onet.pl' ),
419( 'Hamid56' , '979088186' , '907462531' ,'Hamid56@o2.pl' ),
420( 'Wasilika11' , '922198975' , '693700054' ,'Wasilika11@o2.pl' ),
421( 'Edda16' , '270137615' , '113791829' ,'Edda16@o2.pl' ),
422( 'Kiura33' , '190081701' , '385008848' ,'Kiura33@o2.pl' ),
423( 'Druzjanna54' , '788812333' , '923114398' ,'Druzjanna54@outlook.com' ),
424( 'Praskowia44' , '195815206' , '318835709' ,'Praskowia44@gmail.com' ),
425( 'Przemko63' , '468238041' , '739369137' ,'Przemko63@o2.pl' ),
426( 'Margaryta24' , '604158330' , '937922048' ,'Margaryta24@gmail.com' ),
427( 'Szymeon06' , '120090493' , '483229873' ,'Szymeon06@outlook.com' ),
428( 'Tomomasa41' , '420057888' , '359373112' ,'Tomomasa41@outlook.com' ),
429( 'Bob44' , '689449596' , '774906732' ,'Bob44@gmail.com' ),
430( 'Malik48' , '812744586' , '965949274' ,'Malik48@hotmail.com' ),
431( 'Simion81' , '295622091' , '917165061' ,'Simion81@o2.pl' ),
432( 'Joachem45' , '154792124' , '118289922' ,'Joachem45@outlook.com' ),
433( 'Otilda81' , '947683230' , '482387153' ,'Otilda81@outlook.com' ),
434( 'Jacenty74' , '577067797' , '698050635' ,'Jacenty74@hotmail.com' ),
435( 'Hellena74' , '298748841' , '890713430' ,'Hellena74@amu.edu.pl' ),
436( 'Stamislaw14' , '584852539' , '234881590' ,'Stamislaw14@o2.pl' ),
437( 'Bogodar74' , '934741147' , '698066224' ,'Bogodar74@hotmail.com' ),
438( 'Melcyda51' , '611850752' , '592355365' ,'Melcyda51@hotmail.com' ),
439( 'Sawery85' , '304646903' , '583211171' ,'Sawery85@amu.edu.pl' ),
440( 'Wieczeslawa25' , '402925486' , '439718388' ,'Wieczeslawa25@hotmail.com' ),
441( 'Imogena62' , '148421476' , '825075528' ,'Imogena62@outlook.com' ),
442( 'Golfrida87' , '413625018' , '199570957' ,'Golfrida87@o2.pl' ),
443( 'Serwiliusz01' , '355139605' , '640210323' ,'Serwiliusz01@gmail.com' ),
444( 'Boghdan50' , '119861794' , '949389182' ,'Boghdan50@gmail.com' ),
445( 'Alim32' , '647941620' , '606999480' ,'Alim32@outlook.com' ),
446( 'Margo61' , '301811617' , '393941484' ,'Margo61@interia.pl' ),
447( 'Hersz03' , '188682851' , '249733373' ,'Hersz03@outlook.com' ),
448( 'Azacja62' , '162922949' , '711270738' ,'Azacja62@onet.pl' ),
449( 'Reinert88' , '449941163' , '883746246' ,'Reinert88@gmail.com' ),
450( 'Zhanna20' , '125125082' , '601273280' ,'Zhanna20@hotmail.com' ),
451( 'Klementyna03' , '791545573' , '178465274' ,'Klementyna03@amu.edu.pl' ),
452( 'Bibian45' , '345330582' , '206249262' ,'Bibian45@amu.edu.pl' ),
453( 'Frida31' , '280291887' , '116129855' ,'Frida31@o2.pl' ),
454( 'Ignaca73' , '482777637' , '927324866' ,'Ignaca73@interia.pl' ),
455( 'Lubomierz36' , '114201562' , '977936182' ,'Lubomierz36@interia.pl' ),
456( 'Annelisa78' , '312548890' , '882604626' ,'Annelisa78@onet.pl' ),
457( 'Ermelinda06' , '211843326' , '370486855' ,'Ermelinda06@onet.pl' ),
458( 'Ruggero43' , '874586057' , '174244335' ,'Ruggero43@outlook.com' ),
459( 'Mahmet74' , '484017589' , '356249959' ,'Mahmet74@hotmail.com' )
460
461
462
463INSERT INTO adres VALUES
464( 'Nazar03' , 'Rumiankowa' , '45' ,'1' ,'52-100' ,'Gdansk' ),
465( 'Przemko27' , 'Rzepowa' , '78' ,'19' ,'81-715' ,'Szczecin' ),
466( 'Wili65' , 'Wesola' , '61' ,'37' ,'41-220' ,'Wroclaw' ),
467( 'Hartmund24' , 'Kwiatowa' , '27' ,'17' ,'71-586' ,'Krakow' ),
468( 'Aurela54' , 'Rumiankowa' , '61' ,'33' ,'93-458' ,'Poznan' ),
469( 'Mieryclawa42' , 'Jablkowa' , '71' ,'22' ,'60-220' ,'Lodz' ),
470( 'Lilla82' , 'Malinowa' , '33' ,'18' ,'26-571' ,'Warszawa' ),
471( 'Felicytes30' , 'Rzepowa' , '85' ,'20' ,'85-508' ,'Warszawa' ),
472( 'Rodolf72' , 'Rumiankowa' , '9' ,'46' ,'21-463' ,'Gdansk' ),
473( 'Hamid56' , 'Gruszkowa' , '45' ,'34' ,'12-314' ,'Krakow' ),
474( 'Wasilika11' , 'Malinowa' , '51' ,'11' ,'70-991' ,'Poznan' ),
475( 'Edda16' , 'Malinowa' , '23' ,'19' ,'66-266' ,'Poznan' ),
476( 'Kiura33' , 'Mila' , '54' ,'27' ,'67-400' ,'Lodz' ),
477( 'Druzjanna54' , 'Jablkowa' , '71' ,'30' ,'71-426' ,'Lodz' ),
478( 'Praskowia44' , 'Rumiankowa' , '81' ,'28' ,'14-799' ,'Warszawa' ),
479( 'Przemko63' , 'Rumiankowa' , '70' ,'37' ,'81-728' ,'Krakow' ),
480( 'Margaryta24' , 'Gruszkowa' , '44' ,'11' ,'33-891' ,'Wroclaw' ),
481( 'Szymeon06' , 'Rzepowa' , '6' ,'9' ,'80-214' ,'Gdansk' ),
482( 'Tomomasa41' , 'Mila' , '78' ,'34' ,'27-493' ,'Wroclaw' ),
483( 'Bob44' , 'Mila' , '98' ,'2' ,'47-484' ,'Gdansk' ),
484( 'Malik48' , 'Wesola' , '50' ,'6' ,'37-555' ,'Krakow' ),
485( 'Simion81' , 'Kwiatowa' , '79' ,'19' ,'15-202' ,'Krakow' ),
486( 'Joachem45' , 'Rumiankowa' , '16' ,'39' ,'40-788' ,'Warszawa' ),
487( 'Otilda81' , 'Mila' , '64' ,'3' ,'17-932' ,'Lodz' ),
488( 'Jacenty74' , 'Rzepowa' , '72' ,'2' ,'83-194' ,'Warszawa' ),
489( 'Hellena74' , 'Kwiatowa' , '40' ,'24' ,'10-237' ,'Wroclaw' ),
490( 'Stamislaw14' , 'Rumiankowa' , '9' ,'1' ,'54-107' ,'Wroclaw' ),
491( 'Bogodar74' , 'Rzepowa' , '73' ,'4' ,'28-742' ,'Gdansk' ),
492( 'Melcyda51' , 'Mila' , '45' ,'17' ,'10-141' ,'Szczecin' ),
493( 'Sawery85' , 'Jablkowa' , '53' ,'26' ,'42-357' ,'Krakow' ),
494( 'Wieczeslawa25' , 'Malinowa' , '68' ,'29' ,'44-883' ,'Szczecin' ),
495( 'Imogena62' , 'Wesola' , '19' ,'28' ,'32-110' ,'Szczecin' ),
496( 'Golfrida87' , 'Rzepowa' , '50' ,'4' ,'10-511' ,'Krakow' ),
497( 'Serwiliusz01' , 'Wesola' , '21' ,'32' ,'57-900' ,'Poznan' ),
498( 'Boghdan50' , 'Mila' , '75' ,'7' ,'13-964' ,'Szczecin' ),
499( 'Alim32' , 'Jablkowa' , '10' ,'31' ,'18-147' ,'Wroclaw' ),
500( 'Margo61' , 'Malinowa' , '97' ,'23' ,'26-879' ,'Wroclaw' ),
501( 'Hersz03' , 'Jablkowa' , '86' ,'42' ,'28-159' ,'Szczecin' ),
502( 'Azacja62' , 'Kwiatowa' , '9' ,'49' ,'95-435' ,'Poznan' ),
503( 'Reinert88' , 'Jablkowa' , '53' ,'15' ,'73-129' ,'Wroclaw' ),
504( 'Zhanna20' , 'Rzepowa' , '6' ,'26' ,'10-952' ,'Szczecin' ),
505( 'Klementyna03' , 'Jablkowa' , '28' ,'38' ,'18-801' ,'Krakow' ),
506( 'Bibian45' , 'Jablkowa' , '40' ,'48' ,'95-866' ,'Gdansk' ),
507( 'Frida31' , 'Mila' , '89' ,'10' ,'53-141' ,'Wroclaw' ),
508( 'Ignaca73' , 'Rumiankowa' , '34' ,'31' ,'10-723' ,'Wroclaw' ),
509( 'Lubomierz36' , 'Mila' , '97' ,'3' ,'64-621' ,'Krakow' ),
510( 'Annelisa78' , 'Wesola' , '81' ,'44' ,'35-202' ,'Wroclaw' ),
511( 'Ermelinda06' , 'Rumiankowa' , '51' ,'6' ,'45-653' ,'Gdansk' ),
512( 'Ruggero43' , 'Rumiankowa' , '30' ,'5' ,'15-369' ,'Warszawa' ),
513( 'Mahmet74' , 'Gruszkowa' , '66' ,'14' ,'39-859' ,'Poznan' )
514
515
516
517INSERT INTO produkt VALUES
518( 'klaw123', 'Klawiatura przewodowa', 'Logitech', '99.99', '120.98', 'czarny', '1', 'Akcesoria komputerowe' ),
519( 'klaw112', 'Klawiatura przewodowa', 'Samsung', '49.99', '60.99', 'czarny', '3', 'Akcesoria komputerowe' ),
520( 'klaw547', 'Klawiatura bezprzewodowa', 'Razer', '250.00', '305.00', 'niebieski', '2', 'Akcesoria komputerowe' ),
521( 'klaw997', 'Klawiatura bezprzewodowa', 'Sony', '129.99', '159.99', 'fioletowy', '4', 'Akcesoria komputerowe' ),
522( 'druk07', 'Drukarka atramentowa', 'Brother', '250.00', '305.00', 'czarny', '2', 'Akcesoria komputerowe' ),
523( 'druk99', 'Drukarka laserowa', 'Samsung', '399.99', '489.98', 'bialy', '1', 'Akcesoria komputerowe' ),
524( 'monit35', 'Monitor komputerowy', 'Samsung', '509.99', '620.00', 'czarny', '6', 'Akcesoria komputerowe' ),
525( 'monit92', 'Monitor komputerowy', 'BenQ', '399.00', '485.99', 'bialy', '3', 'Akcesoria komputerowe' ),
526( 'mysz69', 'Myszka komputerowa przewodowa', 'Logitech', '29.99', '36.58', 'czarny', '4', 'Akcesoria komputerowe' ),
527( 'mysz07', 'Myszka komputerowa bezprzewodowa', 'Cyborg', '99.99', '121.98', 'czarny', '2', 'Akcesoria komputerowe' ),
528( 'zelaz71', 'Zelazko elektryczne', 'Philips', '167.55', '199.99', 'bialy', '3', 'Sprzet AGD' ),
529( 'zelaz09', 'Zelazko elektryczne', 'Bosh', '171.31', '209.00', 'czarny', '2', 'Sprzet AGD' ),
530( 'odku91', 'Odkurzacz reczny', 'Philips', '97.55', '199.99', 'bialy', '1', 'Sprzet AGD' ),
531( 'went63', 'Wentylator przenosny', 'AEG', '99.99', '121.98', 'bialy', '3', 'Sprzet AGD' ),
532( 'czaj50', 'Czajnik elektryczny', 'Zelmer', '97.55', '199.99', 'czarny', '5', 'Sprzet AGD' ),
533( 'czaj30', 'Czajnik elektryczny', 'Electrolux', '180.99', '219.00', 'czerwony', '2', 'Sprzet AGD' ),
534( 'blend02', 'Blender', 'Bosh', '138.99', '169.99', 'srebrny', '5', 'Sprzet AGD' ),
535( 'eksp99', 'Ekspres cisnieniowy', 'Siemens', '204.99', '249.99', 'czarny', '2', 'Sprzet AGD' ),
536( 'eksp06', 'Ekspres cisnieniowy', 'Ziemens', '399.99', '489.98', 'srebrny', '1', 'Sprzet AGD' ),
537( 'miks594', 'Mikser reczny', 'Zelmer', '129.99', '159.99', 'bialy', '3', 'Sprzet AGD' )
538
539
540INSERT INTO egzemplarz(nr_seryjny, produkt_kod_produktu, data_zakupu) VALUES
541( '12254684', 'klaw123', '2016-07-21' ),
542( '53415874', 'klaw112', '2017-07-03' ),
543( '96541256', 'klaw112', '2012-06-09' ),
544( '75214214', 'klaw112', '2016-09-29' ),
545( '65325354', 'klaw547', '2014-06-14' ),
546( '87421457', 'klaw547', '2017-07-07' ),
547( '15365247', 'klaw997', '2016-04-18' ),
548( '75425897', 'klaw997', '2015-08-09' ),
549( '25423654', 'klaw997', '2015-04-11' ),
550( '23568974', 'klaw997', '2011-03-15' ),
551( '70412548', 'druk07', '2016-05-21' ),
552( '95603541', 'druk07', '2016-09-20' ),
553( '74124575', 'druk99', '2017-01-21' ),
554( '45757414', 'monit35', '2015-06-16' ),
555( '74125474', 'monit35', '2016-11-15' ),
556( '77457417', 'monit35', '2014-12-28' ),
557( '74287798', 'monit35', '2013-09-01' ),
558( '74521525', 'monit35', '2009-02-05' ),
559( '75124256', 'monit35', '2016-01-21' ),
560( '75145877', 'monit92', '2011-07-27' ),
561( '20145257', 'monit92', '2015-06-28' ),
562( '10235457', 'monit92', '2016-07-28' ),
563( '54785578', 'mysz69', '2014-09-09' ),
564( '52314077', 'mysz69', '2016-07-18' ),
565( '77872078', 'mysz69', '2017-08-08' ),
566( '78078070', 'mysz69', '2016-04-21' ),
567( '78232040', 'mysz07', '2017-07-12' ),
568( '30782474', 'mysz07', '2016-09-20' ),
569( '78208070', 'zelaz71', '2017-09-11' ),
570( '83654214', 'zelaz71', '2017-10-16' ),
571( '09452178', 'zelaz71', '2017-01-23' ),
572( '09642233', 'zelaz09', '2016-11-03' ),
573( '78245678', 'zelaz09', '2017-08-05' ),
574( '12525444', 'odku91', '2014-07-19' ),
575( '30785254', 'went63', '2013-12-21' ),
576( '07807524', 'went63', '2016-10-22' ),
577( '78082054', 'went63', '2017-09-07' ),
578( '07854567', 'czaj50', '2017-05-09' ),
579( '90456047', 'czaj50', '2017-02-23' ),
580( '93075478', 'czaj50', '2016-03-15' ),
581( '97453450', 'czaj50', '2016-06-14' ),
582( '08078577', 'czaj50', '2017-01-31' ),
583( '87070827', 'czaj30', '2017-02-28' ),
584( '08785700', 'czaj30', '2017-05-29' ),
585( '78556786', 'blend02', '2017-07-08' ),
586( '40257541', 'blend02', '2016-09-19' ),
587( '44102074', 'blend02', '2017-04-07' ),
588( '44077652', 'blend02', '2017-03-23' ),
589( '35636407', 'blend02', '2016-09-20' ),
590( '50221120', 'eksp99', '2014-07-18' ),
591( '12120120', 'eksp99', '2015-10-12' ),
592( '70203217', 'eksp06', '2012-12-25' ),
593( '05075721', 'miks594', '2016-09-20' ),
594( '64040575', 'miks594', '2017-05-28' ),
595( '97774007', 'miks594', '2017-01-01' )
596
597GO
598CREATE PROCEDURE Wstaw_klienta (
599 @login VARCHAR(64),
600 @haslo VARCHAR(64),
601 @imie VARCHAR(64),
602 @nazwisko VARCHAR(64),
603 @nip VARCHAR(64)=NULL,
604 @nazwa_firmy VARCHAR(64)=NULL )
605AS
606
607INSERT INTO klient (login, haslo, imie, nazwisko, nip, nazwa_firmy)
608 VALUES (@login, @haslo, @imie, @nazwisko, @nip, @nazwa_firmy)
609
610GO
611-- Wstaw_klienta 'test1', 'test2', 'test3', 'test4', '12345678910', 'test6'
612GO
613CREATE PROCEDURE Wstaw_kontakt (
614 @login VARCHAR(64),
615 @nr_tel INT,
616 @fax INT,
617 @email VARCHAR(64)
618 )
619AS
620INSERT INTO kontakt (klient_login, nr_tel, fax, email)
621 VALUES (@login, @nr_tel, @fax, @email)
622GO
623
624--Wstaw_kontakt 'test1', 369258147, 123456789, 'test@gmail.com'
625GO
626CREATE PROCEDURE Zmodyfikuj_kontakt (
627 @login VARCHAR(64),
628 @nr_tel INT,
629 @fax INT,
630 @email VARCHAR(64)
631 )
632AS
633UPDATE kontakt
634SET nr_tel = @nr_tel,
635 fax = @fax,
636 email = @email
637WHERE klient_login = @login
638GO
639
640--Zmodyfikuj_kontakt 'test1', 369258147, 123456789, 'tttttttttttest@gmail.com'
641GO
642 CREATE PROCEDURE Usun_kontakt (
643 @login VARCHAR(64)
644 )
645AS
646 DELETE FROM kontakt
647 WHERE klient_login = @login
648GO
649
650--Usun_kontakt 'test1'
651
652GO
653CREATE PROCEDURE Wstaw_produkt (
654 @kod VARCHAR(64),
655 @nazwa VARCHAR(64),
656 @producent VARCHAR(64),
657 @netto MONEY,
658 @brutto MONEY,
659 @kolor VARCHAR(64),
660 @ilosc VARCHAR(64),
661 @kategoria VARCHAR(64),
662 @seryjny INT
663 )
664AS
665INSERT INTO produkt (kod_produktu, nazwa_produktu, producent, cena_netto, cena_brutto, kolor, ilosc, kategoria)
666 VALUES (@kod, @nazwa, @producent, @netto, @brutto, @kolor, @ilosc, @kategoria)
667INSERT INTO egzemplarz (nr_seryjny, produkt_kod_produktu)
668 VALUES (@seryjny, @kod)
669GO
670
671--Wstaw_produkt 'atest1', 'testowy', 'zarabisty', 9999, 1000, 'black', 1, 'test', 9999999999999
672
673GO
674Create Procedure Dodaj_zamowienie (
675 @login Varchar(64),
676 @produkt Varchar(64))
677As
678BEGIN TRAN
679 If exists (Select TOP 1 nr_seryjny From Egzemplarz Where (produkt_kod_produktu Like @produkt AND czy_sprzedano = 0) ORDER BY nr_seryjny)
680 begin
681 Declare @id Int;
682 If not exists (Select id_zamowienia From Zamowienie)
683 set @id = 1
684 else
685 Set @id = (Select MAX(id_zamowienia) From Zamowienie) + 1;
686
687 Declare @nr Int;
688 If not exists (Select nr_zamowienia From Zamowienie)
689 set @nr = 1
690 else If exists (Select nr_zamowienia From Zamowienie Where (klient_login = @login AND Month(GETDATE()) = Month(data_zlozenia) AND DAY(GETDATE()) = DAY(data_zlozenia)))
691 set @nr = (Select MAX(nr_zamowienia) From Zamowienie Where (klient_login = @login AND Month(GETDATE()) = Month(data_zlozenia) AND DAY(GETDATE()) = DAY(data_zlozenia)))
692 else
693 Set @nr = (Select MAX(nr_zamowienia) From Zamowienie) + 1;
694
695 Declare @fak int;
696 If not exists (Select faktura From Faktury)
697 set @fak = 1
698 else
699 Set @fak = (Select MAX(faktura) From Faktury ) + 1;
700
701 Declare @nrfak int;
702 If not exists (Select nr_faktury From Faktury)
703 set @nrfak = 1
704 else If exists (Select nr_faktury From Faktury Where (klient_login = @login AND Month(GETDATE()) = Month(data_sprzedazy) AND DAY(GETDATE()) = DAY(data_sprzedazy)))
705 Set @nrfak = (Select MAX(nr_faktury) From Faktury Where (klient_login = @login AND Month(GETDATE()) = Month(data_sprzedazy) AND DAY(GETDATE()) = DAY(data_sprzedazy)))
706 else
707 Set @nrfak = (Select MAX(nr_faktury) From Faktury ) + 1;
708
709 Insert Into Zamowienie (id_zamowienia, nr_zamowienia, klient_login) Values
710 ( @id, @nr, @login )
711 Insert Into Faktury (faktura, nr_faktury, klient_login, wartosc_netto, wartosc_brutto) Values
712 ( @fak, @nrfak, @login, (Select cena_netto from Produkt where kod_produktu = @produkt), (Select cena_brutto from Produkt where kod_produktu = @produkt) )
713 Insert Into produktZamowienie Values
714 ( @produkt, @id )
715 Insert Into produktFaktura Values
716 ( @produkt, @fak )
717
718 Declare @seria Int;
719 Set @seria = (Select TOP 1 nr_seryjny From Egzemplarz Where (produkt_kod_produktu Like @produkt AND czy_sprzedano = 0) ORDER BY nr_seryjny)
720
721 Update Egzemplarz
722 Set czy_sprzedano = 1,
723 data_sprzedazy = Getdate()
724 Where nr_seryjny = @seria
725end
726else
727 Print 'brak dostępnych egzeplarzy tego produktu!'
728COMMIT TRANSACTION
729GO
730
731GO
732Create Procedure Koszyk (
733 @login Varchar(64),
734 @pro1 Varchar(64),
735 @pro2 Varchar(64)=NULL,
736 @pro3 Varchar(64)=NULL,
737 @pro4 Varchar(64)=NULL,
738 @pro5 Varchar(64)=NULL)
739As
740 EXEC Dodaj_zamowienie @login, @pro1
741 if @pro2 IS NOT NULL
742 EXEC Dodaj_zamowienie @login, @pro2;
743 if (@pro3 IS NOT NULL)
744 EXEC Dodaj_zamowienie @login, @pro3;
745 if (@pro4 IS NOT NULL)
746 EXEC Dodaj_zamowienie @login, @pro4;
747 if (@pro5 IS NOT NULL)
748 EXEC Dodaj_zamowienie @login, @pro5;
749Go
750
751-- Koszyk 'test1', 'monit92', 'monit35'
752
753--Procedura raportuje wszystkie zamowienia z danego typu wysyłki
754GO
755CREATE PROCEDURE Dostawy (
756 @rodzaj_dostawy VARCHAR(64)
757 )
758AS
759SELECT nr_zamowienia,
760 klient_login,
761 data_zlozenia,
762 data_wysylki
763FROM zamowienie
764WHERE forma_dostawy = @rodzaj_dostawy
765GO
766
767-- Dostawy 'kurier'
768
769--wyświetla nazwy produktow podanego producenta. jesli takowego nie ma/jest bledny, wyswietla liste wszystkich producentow
770GO
771CREATE FUNCTION ListaProduktow
772(
773 @nazwa VARCHAR(64)
774)
775 RETURNS @produkty TABLE(nazwa VARCHAR(64))
776AS
777BEGIN
778 IF @nazwa IN (SELECT producent FROM produkt)
779 INSERT INTO @produkty
780 SELECT nazwa_produktu
781 FROM produkt
782 WHERE producent = @nazwa;
783 ELSE
784 INSERT INTO @produkty
785 SELECT DISTINCT producent
786 FROM produkt;
787 RETURN;
788END
789GO
790
791--SELECT * FROM ListaProduktow('Bosh')
792--SELECT * FROM ListaProduktow('OnePlus')
793
794--zwraca liste zamowien danego klienta
795GO
796CREATE FUNCTION ZamowieniaKlienta(
797 @login VARCHAR(64)
798 )
799RETURNS TABLE
800AS
801RETURN
802SELECT nr_zamowienia,
803 login,
804 cena_brutto
805FROM klient k
806JOIN zamowienie z
807ON z.klient_login=k.login
808JOIN produktZamowienie PR
809ON Pr.zamowienie_nr=z.id_zamowienia
810JOIN produkt p
811ON p.kod_produktu=PR.produkt_kod_produktu
812WHERE k.login=@login
813GO
814--SELECT * FROM ZamowieniaKlienta('test1')
815
816--zwraca totalna cene zamowienia o podanym numerze
817GO
818CREATE FUNCTION CenaZamowienia
819(
820 @numer INT
821)
822RETURNS MONEY
823AS
824BEGIN
825DECLARE @suma MONEY
826set @suma = (SELECT SUM(cena_brutto) FROM WszystkieZamowienia)
827RETURN @suma
828END;
829GO
830--SELECT dbo.CenaZamowienia(1)
831GO
832CREATE VIEW Dane_Klientow(login, imie, nazwisko, ulica, nr_domu, kod_pocztowy, miasto, nr_tel, email)
833AS
834(
835 SELECT login,
836 imie,
837 nazwisko,
838 ulica,
839 nr_domu,
840 kod_pocztowy,
841 miasto,
842 nr_tel,
843 email
844 FROM klient k
845 JOIN kontakt kont
846 ON kont.klient_login = k.login
847 JOIN adres adr
848 ON adr.klient_login = k.login
849);
850GO
851
852--SELECT * FROM Dane_Klientow
853GO
854CREATE VIEW WszystkieZamowienia(nr_zamowienia, login, nazwa_produktu, cena_netto, cena_brutto)
855AS
856(SELECT z.nr_zamowienia,
857 k.login,
858 p.nazwa_produktu ,
859 p.cena_netto,
860 p.cena_brutto
861FROM klient k
862JOIN zamowienie z
863ON z.klient_login=k.login
864JOIN produktZamowienie PR
865ON Pr.zamowienie_nr=z.id_zamowienia
866JOIN produkt p
867ON p.kod_produktu=PR.produkt_kod_produktu
868)
869GO
870
871--SELECT * FROM WszystkieZamowienia
872GO
873Create Trigger tri_dostawa On Zamowienie After Insert
874As
875 If (Select SUM(wartosc_brutto) From Faktury
876 Where nr_faktury = (Select MAX(nr_zamowienia) From Zamowienie
877 Where (Month(GETDATE()) = Month(data_zlozenia) AND DAY(GETDATE()) = DAY(data_zlozenia)))) > 300
878begin
879
880 Update Zamowienie
881 Set koszt_dostawy = 0
882 Where nr_zamowienia = (Select MAX(nr_zamowienia) From Zamowienie
883 Where (Month(GETDATE()) = Month(data_zlozenia) AND DAY(GETDATE()) = DAY(data_zlozenia)))
884end
885Go
886
887--Dodaj_zamowienie 'Serwiliusz01' , 'druk07'
888--Select * from Zamowienie
889--Dodaj_zamowienie 'Serwiliusz01' , 'klaw547'
890--Select * from Zamowienie
891
892GO
893Create Trigger tri_egzemplarz On egzemplarz Instead Of Delete
894As
895 Update Egzemplarz
896 Set czy_sprzedano = 1
897 Where nr_seryjny = (Select d.nr_seryjny From deleted d)
898
899 Print 'Nie mozna usuwac egzeplarzy z rejestru'
900 Rollback
901GO
902
903--Delete from egzemplarz Where nr_seryjny = '06456843'
904--Delete from egzemplarz Where nr_seryjny = '44102074'