View difference between Paste ID: rKwQ46Km and s1nF6g9m
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