Home / Programi / Upitni jezik TRANSACT-SQL
Upitni jezik TRANSACT-SQL
Transact-SQL (T-SQL) je proširenje standardnog SQL jezika (Structured Query Language) koje razvija i koristi Microsoft u okviru svojih SQL Server i Azure SQL Database proizvoda. T-SQL se koristi za pisanje upita i upravljanje relacijskim bazama podataka, a omogućava dodatne funkcionalnosti koje standardni SQL ne pruža, kao što su proceduralna logika, lokalne i globalne promenljive, podrška za transakcije, izuzetke i redosled izvršavanja.
Transact-SQL je bogat funkcionalnostima koje proširuju standardne SQL mogućnosti. Neke od ključnih karakteristika uključuju:
- Proceduralna logika: T-SQL podržava kontrolne strukture kao što su petlje (WHILE), uslovne naredbe (IF…ELSE) i CASE izraze, što omogućava složeniju logiku unutar upita.
- Transakcije: T-SQL omogućava upravljanje transakcijama pomoću naredbi BEGIN TRANSACTION, COMMIT i ROLLBACK, koje obezbeđuju atomarnost, konzistentnost, izolaciju i trajnost (ACID svojstva) transakcija.
- Greške i izuzeci: U T-SQL-u je moguće hendlovati greške koristeći TRY…CATCH blokove, što omogućava bolje upravljanje izuzecima.
- Ugrađene funkcije: T-SQL sadrži bogat skup ugrađenih funkcija za manipulaciju stringovima, datumima, matematičkim operacijama i drugim tipovima podataka.
- Lokalne i globalne promenljive: Omogućava deklarisanje i korišćenje promenljivih za skladištenje privremenih podataka unutar sesije ili upita.
Primer koda u Transact-SQL jeziku
Sledeći primer prikazuje osnovne mogućnosti T-SQL-a kroz kreiranje tabele, ubacivanje podataka, ažuriranje podataka i upotrebu proceduralne logike:
— Kreiranje tabele
CREATE TABLE Zaposleni (
ZaposleniID INT PRIMARY KEY,
Ime NVARCHAR(50),
Prezime NVARCHAR(50),
Plata DECIMAL(10, 2),
DatumZaposlenja DATE
);
— Ubacivanje podataka u tabelu
INSERT INTO Zaposleni (ZaposleniID, Ime, Prezime, Plata, DatumZaposlenja)
VALUES (1, ‘Marko’, ‘Marković’, 50000.00, ‘2020-01-15’),
(2, ‘Ana’, ‘Anić’, 55000.00, ‘2019-03-22’);
— Ažuriranje podataka u tabeli
UPDATE Zaposleni
SET Plata = Plata * 1.10
WHERE ZaposleniID = 1;
— Primer proceduralne logike
DECLARE @ProsecnaPlata DECIMAL(10, 2);
SELECT @ProsecnaPlata = AVG(Plata)
FROM Zaposleni;
IF @ProsecnaPlata > 50000
BEGIN
PRINT ‘Prosecna plata je veca od 50000’;
END
ELSE
BEGIN
PRINT ‘Prosecna plata je manja ili jednaka 50000’;
END;
U ovom primeru, kreiramo tabelu “Zaposleni” sa odgovarajućim kolonama. Zatim ubacujemo dva reda podataka u tabelu. Sledeći korak je ažuriranje plate za zaposlenog sa ID-jem 1, gde se plata povećava za 10%. Na kraju, koristimo proceduralnu logiku da izračunamo prosečnu platu svih zaposlenih i ispisujemo odgovarajuću poruku u zavisnosti od vrednosti prosečne plate.
Upotreba Transact-SQL jezika
Transact-SQL se koristi za različite zadatke u okviru upravljanja relacijskim bazama podataka. Glavne oblasti primene uključuju:
- Pisanje upita: T-SQL omogućava kreiranje kompleksnih upita za pretraživanje, filtriranje i agregaciju podataka. Kombinacija SELECT, INSERT, UPDATE i DELETE naredbi omogućava manipulaciju podacima u bazi.
- Kreiranje i upravljanje objektima baze podataka: T-SQL se koristi za definisanje strukture baze podataka, uključujući tabele, indekse, poglede (views), procedure, funkcije i trigere.
- Proceduralno programiranje: T-SQL omogućava pisanje pohranjenih procedura (stored procedures) i korisnički definisanih funkcija (user-defined functions) koje obezbeđuju efikasno izvršavanje složenih poslovnih logika na strani servera.
- Transakcioni sistemi: T-SQL pruža podršku za transakcije koje osiguravaju da operacije nad bazom podataka budu izvršene u celini ili da ne budu izvršene uopšte, čime se održava integritet podataka.