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.

Programer koristi Upitni jezik TRANSACT-SQL

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.