SHOW:
|
|
- or go back to the newest paste.
| 1 | --2 | |
| 2 | create table byvali_studenti | |
| 3 | ( | |
| 4 | id_student int, | |
| 5 | cislo_studenta int primary key not null, | |
| 6 | jmeno varchar (30), | |
| 7 | prijmeni varchar (50), | |
| 8 | adresa varchar (50), | |
| 9 | obec varchar (30), | |
| 10 | psc numeric (5), | |
| 11 | telefon numeric (9), | |
| 12 | datum date | |
| 13 | ) | |
| 14 | ||
| 15 | create trigger smazano on student | |
| 16 | for delete | |
| 17 | as | |
| 18 | begin | |
| 19 | insert into byvali_studenti (id_student,cislo_studenta,jmeno,prijmeni,adresa,obec,psc,telefon,datum) | |
| 20 | select id_student,cislo_studenta,jmeno,prijmeni,adresa,obec,psc,telefon, GETDATE() from deleted | |
| 21 | end | |
| 22 | ||
| 23 | --3 | |
| 24 | begin tran TZ1 | |
| 25 | delete from hodnoceni where cislo_studenta=4567 | |
| 26 | delete from student where cislo_studenta=4567 | |
| 27 | select * from byvali_studenti | |
| 28 | select * from student | |
| 29 | --commit tran TZ1 | |
| 30 | rollback tran TZ1 | |
| 31 | ||
| 32 | ||
| 33 | --4 | |
| 34 | create procedure kurz | |
| 35 | @nazev varchar(50) | |
| 36 | as | |
| 37 | begin | |
| 38 | select k.nazev,t.semestr,t.ucebna,t.den,t.cas,p.cislo_predchozi from kurs k,terminy t,predpoklady p | |
| 39 | where @nazev=k.nazev | |
| 40 | end | |
| 41 | ||
| 42 | execute kurz 'Databázové systémy' | |
| 43 | ||
| 44 | ||
| 45 | --5 | |
| 46 | create procedure vnorena | |
| 47 | @cislo_lektora int | |
| 48 | as | |
| 49 | begin | |
| 50 | if (@cislo_lektora is null) | |
| 51 | begin | |
| 52 | print 'Student nebyl z daneho kurzu hodnocen' | |
| 53 | end | |
| 54 | else | |
| 55 | begin | |
| 56 | select jmeno+' '+prijmeni as 'Jméno učitele',telefon from lektor | |
| 57 | where @cislo_lektora=cislo_lektora | |
| 58 | end | |
| 59 | end | |
| 60 | ||
| 61 | create procedure ucitel | |
| 62 | @cislo_studenta int, --je to navesene na cislo_studenta a ne id_studenta, cislo_studenta je primarni klic, s id_studenta by to bylo o podminku delsi | |
| 63 | @cislo_kurzu varchar(4), | |
| 64 | @cislo_lektora int output | |
| 65 | as | |
| 66 | begin | |
| 67 | set @cislo_lektora= (select t.cislo_lektora from terminy t, hodnoceni h | |
| 68 | where @cislo_kurzu=t.cislo_kursu and @cislo_studenta=h.cislo_studenta | |
| 69 | and h.id_terminu=t.id_terminu) | |
| 70 | execute vnorena @cislo_lektora | |
| 71 | end | |
| 72 | ||
| 73 | declare @cislo_lektora int | |
| 74 | execute ucitel 4965,'X100',@cislo_lektora output | |
| 75 | ||
| 76 | --6 | |
| 77 | declare Kurzor cursor for | |
| 78 | select s.jmeno,s.prijmeni,t.den,t.ucebna from student s,terminy t,hodnoceni h | |
| 79 | where s.cislo_studenta=h.cislo_studenta and h.id_terminu=t.id_terminu | |
| 80 | declare | |
| 81 | @jmeno varchar(30), | |
| 82 | @prijmeni varchar(30), | |
| 83 | @den varchar(10), | |
| 84 | @ucebna varchar(5) | |
| 85 | open Kurzor | |
| 86 | fetch Kurzor into @jmeno,@prijmeni,@den,@ucebna | |
| 87 | while @@fetch_status=0 | |
| 88 | begin | |
| 89 | print @jmeno+' '+@prijmeni+' - '+@den+' - Učebna: '+@ucebna | |
| 90 | fetch Kurzor into @jmeno,@prijmeni,@den,@ucebna | |
| 91 | end | |
| 92 | close Kurzor | |
| 93 | deallocate Kurzor |