Izjavite SQL: Opis. Transact-SQL

Danas praktički svaki moderni programer zna što je Transact-SQL. Ovo je proširenje koje se koristi u SQL poslužitelju. Ovaj razvoj je usko integriran u Microsoft SQL i dodaje programerske konstruktore koji nisu izvorno osigurani u bazama podataka. T-SQL podržava varijable, kao u većini drugih razvoja. Međutim, ovo proširenje ograničava uporabu varijabli na načine koji nisu uobičajeni u drugim okruženjima.

Najava varijabli u DECLARE SQL-u

Koristite DECLARE () izjavu za deklariranje varijable u T-SQL-u. Na primjer, u slučaju deklariranja varijable i kao cijelog broja pomoću ovog operatora, naredba će izgledati ovako: DECLARE @i int.


Iako Microsoft ne dokumentira tu funkciju, T-SQL također podržava naznaku AS ključne riječi između naziva varijable i njezina tipa podataka, kao u sljedećem primjeru: DECLARE @i AS int. Ključna riječ AS pojednostavljuje čitanje DECLARE instrukcije. Jedini tip podataka koji ne dopušta specificiranje AS ključne riječi je tip podataka tablice koji je nov u SQL Serveru 2000. Omogućuje vam definiranje varijable koja sadrži punu tablicu.

DECLARE SQL: Opis

T-SQL podržava samo lokalne varijable koje su dostupne samo u paketu koji ih je stvorio. Paket je operator (ili grupa operatora) koji baza podataka analizira kao jedinicu. Svaki alat ili sučelje klijenta ima svoj način označavanja kraja paketa. Na primjer, u alatu Query Analyzer koji koristitenaredbu GO označava gdje završava paket. Ako imate sintaktičku pogrešku u bilo kojoj aplikaciji, paket ne prolazi fazu raščlanjivanja, pa klijentski alat ne šalje paket na SQL Server za daljnju obradu. Možete pokrenuti kôd koji deklarira tabličnu varijablu, a zatim unosi redak u tablicu u istom paketu.



Primjer deklarirane tablice: DECLARE @ tablica tablice
col1 int NIJE NULL
INSERT INTO @ mytable VALUES


red u tablici u drugu skupinu: DECLARE @mytable tablica
col1 int NIJE NULL
INSERT INTO @ mytable VALUES

GOERer INSERT ne uspijeva jer je varijabla tablice izvan opsega i pojavljuje se sljedeća poruka o pogrešci :
Poslužitelj: Msg 137, razina 15, stanje 2, red 2.

Varijable u procedurama (upute DECLARE, SET)

Podrška za lokalne varijable u SQL procedurama omogućuje dodjeljivanje i vraćanje zn. Obrada podataka kao potpora logici postupaka. Varijable u procedurama određuju se pomoću DECLARE SQL izraza. Vrijednosti se mogu dodijeliti varijablama korištenjem SET izraza ili kao zadana vrijednost pri deklariranju varijable. Slova, izrazi, rezultati upita i posebne vrijednosti registra mogu se dodijeliti varijablama.
Vrijednosti varijabli mogu se dodijeliti procesnim parametrima, drugim varijablama, a mogu se specificirati i kao parametri u SQL izrazima koji se izvode unutar postupka.

Algoritam

Prilikom deklariranja varijable, možete navesti zadanu vrijednost,pomoću DEFAULT ponude. Niz prikazuje deklaraciju varijable tipa Boolean s defaultnom vrijednosti FALSE. SET operator se može koristiti za dodjelu jedne vrijednosti varijable. Varijable se također mogu postaviti tako da se izvrši SELECT ili FETCH izraz zajedno s INTO klauzulom. Operator VALUES INTO može se koristiti za procjenu funkcije ili posebnog registra i dodjeljivanje vrijednosti nekoliko varijabli, a rezultat varijable GET DIAGNOSTICS također možete dodijeliti varijabli. GET DIAGNOSTICS se može koristiti za dobivanje broja deskriptora pogođenih redova (ažurirano za UPDATE operatora, DELETE za DELETE izraz) ili statusa povratka novoizvršenog SQL izraza

Značajke

SQL DECLARE linija pokazuje kako se dio logike može koristiti za definiranje vrijednost koja se dodjeljuje varijabli. U ovom slučaju, ako su redovi promijenjeni kao dio ranijeg DELETE izraza, a izvođenje GET DIAGNOSTICS-a rezultiralo je činjenicom da je varijabli v_rcount dodijeljena vrijednost veća od nule, varijabli is_done dodjeljuje se TRUE vrijednost.

Procedure

DECLARE SQL procedure su postupci koji su u potpunosti implementirani pomoću SQL-a, koji se može koristiti za enkapsulaciju logike. Isto se može nazvati programskom potprogramom.
U arhitekturi baze podataka, postoji mnogo korisnih aplikacija SQL-procedura. Koriste se za stvaranje jednostavnih skripti za brz zahtjev za pretvorbu i ažuriranje podataka, generiranje osnovnih izvješća, poboljšanjaIzvedba i modulacija aplikacija, kao i poboljšanje ukupne sigurnosti dizajna i baze podataka Postoji mnogo proceduralnih funkcija koje ih čine moćnim alatom za obradu. Prije nego što odlučite implementirati SQL proceduru, važno je razumjeti što su analogije u kontekstu potprograma, kako se one provode i kako se mogu koristiti.

Kreiranje procedura

Implementacija SQL procedura može igrati važnu ulogu u arhitekturi baze podataka, razvoju aplikacija i performansama sustava. Razvoj zahtijeva jasno razumijevanje zahtjeva, sposobnosti i korištenja funkcija, kao i poznavanje bilo kakvih ograničenja. SQL procedure se kreiraju prema izrazu CREATE PROCEDURE. Kada se kreira algoritam, upiti u tijelu postupka su odvojeni od proceduralne logike. Da bi se povećala učinkovitost, SQL upiti su statički prevedeni u odjeljke u paketu

Varijable

Lokalna varijabla Transact-SQL je objekt koji može sadržavati jednu vrijednost podataka određenog tipa. Tipično, varijable se koriste u skupinama i skriptama:
  • Kao brojač, morate brojati broj ciklusa ili postaviti koliko se puta petlja izvršava;
  • za spremanje vrijednosti podataka koje treba provjeriti operater kontrole protoka;
  • za spremanje vrijednosti podataka koji će biti vraćeni kodom funkcije povratka.
  • Imena brojnih Transact-SQL funkcija počinju s znakovima (@@). Iako se u ranijim verzijama Microsoft SQL Server funkcije @@ nazivaju globalnim varijablama.@@ - to su funkcije sustava, a njihovo korištenje poštuje pravila sintakse za funkcije.

    Deklariranje varijable

    DECLARE izraz definira varijablu Transact-SQL prema sljedećem algoritmu:
  • definiranje imena koje bi trebalo imati jedan znak @ kao prvi znak;
  • dodjeljivanje danog ili korisnički definiranog tipa podataka i duljine;
  • za numeričke varijable također su dodijeljene preciznost i skala.
  • za XML varijable, može se dodijeliti dodatna gradnja sheme.
  • Podešavanje vrijednosti na NULL. Na primjer, DECLARE operator u SQL upitu stvara lokalnu varijablu pod nazivom @mycounter s int tipom podataka.
  • Za deklariranje nekoliko lokalnih varijabli, koristite zarez nakon utvrđivanja prve lokalne varijable, a zatim navedite sljedeće ime i vrstu podataka lokalne mreže. Na primjer, sljedeća izjava stvara tri lokalne varijable imenom @LastName, @FirstName i @StateProvince i inicijalizira svaki NULL. Volumen varijable je raspon Transact-SQL izraza koji se mogu odnositi na varijablu. Volumen varijable traje od točke koja je deklarirana do kraja serije ili pohranjene procedure u kojoj je deklarirana.

    Povezane publikacije