Promenljive u SQL-u. Naredbe.
.
1. Promenljive u SQL-u (definisanje, dodeljivanje vrednosti i prikaz)
Uvod
Prilikom rada sa bazama podataka često postoji potreba da privremeno sačuvamo neku vrednost kako bismo je kasnije koristili u programu ili SQL skripti. Te vrednosti mogu predstavljati broj, tekst, datum ili rezultat nekog upita. Upravo za to služe promenljive.
Promenljive u SQL-u imaju sličnu ulogu kao promenljive u programskim jezicima – omogućavaju čuvanje podataka tokom izvršavanja skripte.
U MS SQL Server-u promenljive se definišu pomoću ključne reči DECLARE.
Definisanje promenljive
Sintaksa:
DECLARE @naziv tip_podatka;
Primer:
DECLARE @ime VARCHAR(50);
Ovde je:
-
@ime → naziv promenljive
-
VARCHAR(50) → tip podatka
U SQL Server-u promenljive obavezno počinju znakom @.
Dodeljivanje vrednosti promenljivoj
Vrednost se može dodeliti pomoću SET ili SELECT naredbe.
Korišćenje SET
DECLARE @broj INT;
SET @broj = 10;
Korišćenje SELECT
DECLARE @ime VARCHAR(50);
SELECT @ime = 'Marko';
Prikaz vrednosti promenljive
Za prikaz se koristi PRINT ili SELECT.
DECLARE @grad VARCHAR(50);
SET @grad = 'Novi Sad';
PRINT @grad;
Ili:
SELECT @grad;
Korišćenje promenljivih u upitima
DECLARE @id INT;
SET @id = 3;
SELECT *
FROM Film
WHERE FilmID = @id;
Vežbe
-
Definisati promenljivu za naziv filma.
-
Dodeliti vrednost promenljivoj pomoću SET.
-
Prikazati vrednost promenljive.
-
Definisati promenljivu za godinu.
-
Prikazati filmove čiji je FilmID jednak vrednosti promenljive.
.
2. Definisanje bloka naredbi
Uvod
Kada želimo da više SQL naredbi posmatramo kao jednu celinu, koristimo blok naredbi.
U SQL Server-u blok naredbi definiše se pomoću:
BEGIN
...
END
Blokovi omogućavaju organizovaniji kod i koriste se u: funkcijama, procedurama, okidačima, petljama, IF naredbama
Primer bloka naredbi
BEGIN
PRINT 'Početak';
PRINT 'Kraj';
END
Kombinovanje sa promenljivama
BEGIN
DECLARE @broj INT;
SET @broj = 5;
PRINT @broj;
END
Vežbe
-
Napraviti blok sa dve PRINT naredbe.
-
U okviru bloka definisati promenljivu.
-
Prikazati sadržaj promenljive.
-
Kreirati blok koji prikazuje sve filmove.
.
3. Naredbe za kontrolu toka
Uvod
Programi često moraju da donose odluke. Na primer:
-
ako postoji podatak → prikazati ga
-
ako ne postoji → ispisati poruku
U SQL-u se za to koristi IF.
IF naredba
Sintaksa:
IF uslov
BEGIN
naredbe
END
Primer
DECLARE @broj INT;
SET @broj = 10;
IF @broj > 5
BEGIN
PRINT 'Broj je veći od 5';
END
IF ELSE
IF @broj > 5
BEGIN
PRINT 'Veći';
END
ELSE
BEGIN
PRINT 'Manji';
END
EXISTS
Koristi se za proveru postojanja podataka.
IF EXISTS (SELECT * FROM Film WHERE FilmID = 3)
BEGIN
PRINT 'Film postoji';
END
Vežbe
-
Proveriti da li promenljiva ima vrednost veću od 100.
-
Proveriti da li postoji film sa FilmID = 5.
-
Ispisati različite poruke korišćenjem ELSE.
.
4. Naredbe ponavljanja
Uvod
Ponekad je potrebno više puta izvršiti istu naredbu. Za to se koriste petlje. U SQL Server-u koristi se WHILE.
WHILE petlja
DECLARE @i INT;
SET @i = 1;
WHILE @i <= 5
BEGIN
PRINT @i;
SET @i = @i + 1;
END
Vežbe
-
Ispisati brojeve od 1 do 10.
-
Ispisati parne brojeve.
-
Napraviti petlju koja prikazuje naziv filma više puta.