Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 3

SQL UPITNI JEZIK – Okidači

Šema baze podataka VIDEO KLUB (prikaz dijagrama iz MS SQL Server 2008 softvera
za rukovanje bazama podataka):

ZADACI:

1.

Kreirati okidač koji prilikom upisa podataka o novim filmovima u bazu podataka dodeljuje
vrednost kolone «Inventarni broj», tako što uveća najveću unetu vrednost inventarnog
broja filma za jedan.
create trigger odrediIncertarnibrojfilma
on film
for insert
as
declare @najveciIBRF bigint
select @najveciIBRF=MAX([inventarni broj])
from film
if @najveciIBRF is null
set @najveciIBRF=1
else
set @najveciIBRF=@najveciIBRF+1
update film
set [inventarni broj] =@najveciIBRF
where [inventarni broj] =0
1a.
alter trigger odrediIncertarnibrojfilma
on film
for insert, update
as
declare @najveciIBRF bigint
select @najveciIBRF=MAX([inventarni broj])
from film
if @najveciIBRF is null
set @najveciIBRF=1
else
set @najveciIBRF=@najveciIBRF+1
update film
set [inventarni broj] =@najveciIBRF
where [inventarni broj] =0

2.

a) Kreirati okidač (trigger) koji prilikom unosa novih filmova u bazu podataka, proverava
da li je godina snimanja filma manja od 1895 (godina snimanja prvog filma) ili veća od
tekuće godine. Ukoliko ovaj uslov nije zadovoljen, okidač poništava vrednost godine
snimanja filma i ostavlja polje bez vrednsoti.
b) Napisati odgovarajući DML upit za unos podataka o nekom filmu u bazu podataka.

3.

a) Kreirati okidač (trigger) koji prilikom izmene podataka o filmovima proverava da li je


godina snimanja filma manja od 1895 (godina snimanja prvog filma) ili veća od tekuće
godine. Ukoliko ovaj uslov nije zadovoljen, okidač poništava vrednost godine snimanja
filma i ostavlja polje bez vrednsoti.
b) Napisati odgovarajući DML upit koji menja podatke o nekom filmu u bazi podataka.

4.

Kreirati okidač koji prilikom evidentiranja izdavanja filma proverava da li je korisnik uneo
datum koji je veći od današnjeg datuma. Ovakav datum se ne sme evidentirati u bazi
podataka i mora se automatski od strane okidača upisati današnji (tekući) datum kao
vrednost datuma izdavanja filma.
5.

Kreirati okidač koji prilikom evidentiranja vraćanja iznajmljenog filma proverava da li je


korisnik uneo datum vraćanja koji je manji od datuma izdavanja filma. Ovakav datum se
ne sme evidentirati u bazi podataka i mora se automatski od strane okidača upisati
današnji (tekući) datum kao vrednost datuma vraćanja filma.

6.

Kreirati okidač koji zabranjuje brisanje filmova iz baze podataka koji su snimljeni u
poslednje tri godine. Prikazati odgovarajuću poruku korisniku kada pokuša da obriše
podatake za nove filmove.

You might also like