Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


T-SQL-Vezbe-Baze podataka-Informatika, Vežbe od Baze podataka

Informatika, baze podataka, vezbe, zadaci, zadaci sa vezbi, Microsoft SQL Server,T-SQL, Transact-SQL

Tipologija: Vežbe

2012/2013

Učitan datuma 27.06.2013.

mullerlove
mullerlove 🇸🇷

4.5

(453)

1.6K dokumenti

1 / 25

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
Ak.god. 2012/2013 BAZE PODATAKA 1
BAZE PODATAKA 2
Doc.dr.sc. GORAN KRALJEVIĆ
FAKULTET STROJARSTVA I RAĈUNARSTVA
SVEUĈILIŠTE U MOSTARU
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Delimični pregled teksta

Preuzmite T-SQL-Vezbe-Baze podataka-Informatika i više Vežbe u PDF od Baze podataka samo na Docsity!

BAZE PODATAKA 2

Doc.dr.sc. GORAN K RALJEVIĆ

FAKULTET STROJARSTVA I RAĈUNARSTVA

SVEUĈILIŠTE U MOSTARU

Web:

http://www2.fsr.ba/nastava/baze

Pitanja, primjedbe, dogovor za konzultacije ...

 E-mail: [email protected]

Baze podataka 2

  • Microsoft SQL Server: T-SQL

T-SQL(Transact-SQL)

T-SQL

T-SQL

  • Lokalne varijable se deklariraju od strane korisnika korištenjem

ključne riječi DECLARE.

DECLARE

@v_ime VARCHAR(25), @v_prezime VARCHAR(25), @v_datum_zaposlenja DATETIME, @v_placa NUMERIC(7,2) ...

T-SQL

DECLARE @v_sum_placa NUMERIC(7,2)

SELECT @v_sum_placa = SUM(placa) FROM djelatnik

SELECT 'Ukupna suma placa je: ' + convert(varchar(10), @v_sum_placa)

Vrijednost varijabli se pridjeljuje u sklopu SELECT izraza:

SELECT @varijabla = SQL izraz

T-SQL

  • T-SQL Kontrola programskog toka

T-SQL

DECLARE naziv_kursora CURSOR FOR SELECT ... OPEN naziv_kursora FETCH NEXT FROM naziv_kursora INTO @...

WHILE @@FETCH_STATUS = 0 BEGIN

... FETCH NEXT FROM naziv_kursora INTO @... END

CLOSE naziv_kursora DEALLOCATE naziv_kursora

T-SQL – rad sa kursorima:

T-SQL

  • Kreiranje pohranjene procedure:
  • Pohranjene procedure se koriste u prekompajliranom i optimiziranom obliku.
  • Pri kreiranju procedure mogu se koristiti opcije RECOMPILE (proceduru je potrebno iznova kompajlirati pri svakom izvršavanju) i ENCRYPTION (sigurnosno kodiranje SQL procedure).

CREATE PROCEDURE naziv_procedure {@parametar1 tip_podatka1} [OUTPUT] {@parametar2 tip_podatka2} [OUTPUT] [WITH {RECOMPILE | ENCRYPTION}] AS SQL izrazi... ;

T-SQL

  • Kreiranje funkcije:
  • Napomena: Mora postojati najmanje jedan RETURN iskaz!

CREATE FUNCTION naziv_funkcije ( {@parametar1 tip_podatka1} {@parametar2 tip_podatka2} ) RETURNS tip_podatka AS SQL izrazi... ;

T-SQL

  • Kreiranje okidača (trigera):
  • IF UPDATE (naziv_atributa) Izraz kojim se unutar okidača kojeg je aktivirala UPDATE naredba provjerava da li je riječ o ažuriranju navedenog atributa unutar tablice.

CREATE TRIGGER naziv_okidaca ON naziv_tablice FOR INSERT | UPDATE | DELETE AS SQL izrazi... ;

Primjeri

Testna baza

(napunjena testnim podacima ... )

DECLARE @status INT

EXEC @status = povecaj_placu 1, 100 IF @status= SELECT 'Ok!'; ELSE SELECT 'Greška!';

Pohranjene procedure Primjer

T-SQL – Poziv pohranjene procedure:

Pohranjene procedure Primjer

CREATE PROCEDURE insert_djelatnika @p_id_djelatnika NUMERIC(5), @p_ime VARCHAR(25), @p_prezime VARCHAR(25), @p_spol CHAR(2), @p_datum_zaposlenja DATETIME, @p_placa NUMERIC(7,2), @p_id_sefa NUMERIC(5), @p_sifra_opcine NUMERIC(5), @p_sifra_radmj VARCHAR(10) AS BEGIN IF EXISTS (SELECT 'x' FROM radno_mjesto WHERE sifra_radmj = @p_sifra_radmj) BEGIN INSERT INTO djelatnik (id_djelatnika, ime, prezime, spol, datum_zaposlenja, placa, id_sefa, sifra_opcine, sifra_radmj) VALUES (@p_id_djelatnika, @p_ime, @p_prezime, @p_spol, @p_datum_zaposlenja, @p_placa, @p_id_sefa, @p_sifra_opcine, @p_sifra_radmj); SELECT 'INSERT djelatnika uspješno izvršen!'; END ELSE RAISERROR('Ne postoji navedeno radno mjesto!',16,-1) END