Izjavi SQL: Opis. Transact-SQL

Danes praktično vsak sodoben programer ve, kaj je Transact-SQL. To je razširitev, ki se uporablja v SQL Serverju. Ta razvoj je tesno povezan z Microsoft SQL in dodaja programerske konstruktorje, ki prvotno niso na voljo v podatkovnih bazah. T-SQL podpira spremenljivke, kot v večini drugih. Vendar pa ta razširitev omejuje uporabo spremenljivk na načine, ki niso običajni v drugih okoljih.

Sporočanje spremenljivk v DECLARE SQL

Uporabite izjavo DECLARE () za deklariranje spremenljivke v T-SQL. Na primer, v primeru razglasitve spremenljivke i kot celega števila s pomočjo tega operaterja bo ukaz izgledal takole: DECLARE @i int.


Čeprav Microsoft ne dokumentira te funkcije, T-SQL podpira tudi navedbo ključne besede AS med imenom spremenljivke in njenim podatkovnim tipom, kot v naslednjem primeru: DECLARE @i AS int. Ključna beseda AS poenostavlja branje navodil DECLARE. Edini tip podatkov, ki ne omogoča podajanja ključne besede AS, je podatkovni tip tabele, ki je nov v SQL Server 2000. Omogoča vam, da določite spremenljivko, ki vsebuje celotno tabelo.

DECLARE SQL: Opis

T-SQL podpira samo lokalne spremenljivke, ki so na voljo samo v paketu, ki jih je ustvaril. Paket je operater (ali skupina operaterjev), ki ga baza podatkov analizira kot enoto. Vsako odjemalsko orodje ali vmesnik ima svoj način označevanja konca paketa. Na primer, v orodju za analizo poizvedb, ki ga uporabljateukaz GO označuje, kje se paket konča. Če v katerikoli aplikaciji imate sintaktično napako, paket ne prenese faze razčlenjevanja, zato odjemalsko orodje ne pošlje paketa v SQL Server za nadaljnjo obdelavo. Lahko zaženete kodo, ki razglasi spremenljivko tabele, in nato vstavi vrstico v tabelo v istem paketu.



Primer razglašene tabele SQL: DECLARE @ table tabela
col1 int NOT NULL
INSERT INTO @ mytable VALUES


GOThen razglasi spremenljivko tabele v enem paketu in nato prilepi vrstica v tabeli v drugo serijo: DECLARE @mytable tabela
col1 int NOT NULL
INSERT INTO @ mytable VALUES

GOERer INSERT ne uspe, ker je spremenljivka tabele zunaj obsega in se prikaže naslednje sporočilo o napaki: :
Strežnik: Msg 137, raven 15, stanje 2, vrstica 2.

Spremenljivke v postopkih (navodila DECLARE, SET)

Podpora za lokalne spremenljivke v procedurah SQL omogoča dodeljevanje in pridobivanje zn Obdelava podatkov v podporo logiki postopkov. Spremenljivke v postopkih so določene s stavkom DECLARE SQL. Vrednosti se lahko spremenljivkam dodeli s stavkom SET ali kot privzeta vrednost pri razglasitvi spremenljivke. Spremenljivkam lahko dodelite črke, izraze, rezultate poizvedb in posebne registrske vrednosti.
Vrednosti spremenljivk se lahko dodelijo procesnim parametrom, drugim spremenljivkam in se lahko določijo tudi kot parametri v stavkih SQL, izvedenih v postopku.

Algoritem

Pri razglasitvi spremenljivke lahko podate privzeto vrednost,yspolzuya predlog DEFAULT. Pokazыvaet napoved niz spremenljivka tipa Boolean privzeta vrednost co FALSE. Lahko yspolzovatsya SET operaterja za ene vrednosti spremenljivke. Peremennыe tudi mogut bыt ustanovlenы putem Navodila Opravite SELECT ali FETCH Kombinacija s stavkom INTO. Operater vrednot v Can yspolzovatsya za otsenki funkcij in registrov ali posebej prysvayvat pomena Več peremennыm.Vы lahko določite tudi rezultat operater GET diagnostiko spremenljivko. GET DIAGNOSTICS lahko yspolzovatsya za pridobitev deskriptorjev Količina zatronutыh ​​izraz (obnovlyaetsya operater UPDATE, DELETE - Operater DELETE) ali stanje Vrni Le nekaj vыpolnennoho SQL-operater

Značilnosti

niz DECLARE SQL demonstryruet, kot del logike lahko yspolzovatsya opredelitve vrednost ,, kotoroe dolzhna bыt prysvoeno spremenljiva. V tem sluchae, pogoji bыly Če yzmenenы V okviru več kot rannego operaterja DELETE, in opravljajo GET DIAGNOSTICS vodila za nekaj spremenljivka v_rcount prysvoeno pomen, bolshee nič spremenljivka is_done prysvayvaetsya pomen TRUE.

Protsedurы

Protsedurы IZRAŽAJO SQL - to protsedurы, popolnoma realyzovannыe s pomočjo SQL kotoryya Prijave se lahko uporabijo za inkapsulacijo logiko. Enako v čakalno vrsto: Kako lahko bыt vыzvana podprohramma programiranja.
arhitekture bazы podatki obstajajo številne aplikacije postopke SQL-Pack. ONI yspolzuyutsya za oblikovanje scenarijev za prostыh Quick zahtevo za transformacijo in posodobitve podatkov, bazovыh otchetov generacije, povečanjezmogljivost in modulacijo aplikacij, kot tudi za izboljšanje splošne varnosti pri načrtovanju in izdelavi podatkovnih baz, zato je veliko postopkovnih funkcij, ki so močno orodje za obdelavo. Preden se odločite za izvedbo postopka SQL, je pomembno razumeti, kateri analogi so v kontekstu podprogramov, kako se izvajajo in kako se lahko uporabljajo.

Ustvarjanje postopkov

Izvajanje postopkov SQL lahko igra pomembno vlogo pri arhitekturi baze podatkov, razvoju aplikacij in zmogljivosti sistema. Razvoj zahteva jasno razumevanje zahtev, zmogljivosti in uporabe funkcij ter poznavanje omejitev. Postopki SQL so ustvarjeni v skladu s stavkom CREATE PROCEDURE. Ko je algoritem ustvarjen, so poizvedbe v telesu postopka ločene od postopkovne logike. Da bi povečali učinkovitost, so poizvedbe SQL statično prevedene v razdelke v paketu

Spremenljivke

Lokalna spremenljivka Transact-SQL je objekt, ki lahko vsebuje eno vrednost podatkov določenega tipa. Značilno je, da se spremenljivke uporabljajo v paketih in skriptih:
  • Kot števec morate bodisi šteti število ciklov bodisi določiti, kolikokrat se izvede zanka;
  • shranjevanje vrednosti podatkov, ki jih mora preveriti upravljavec pretoka;
  • , da shranite vrednost podatkov, ki jih bo vrnila koda povratne funkcije.
  • Imena številnih funkcij Transact-SQL se začnejo z znaki (@@). Čeprav se v prejšnjih različicah Microsoft SQL Server funkcije @@ imenujejo globalne spremenljivke.@@ - to so sistemske funkcije in njihova uporaba se ravna po pravilih sintakse za funkcije.

    Deklariranje spremenljivke

    Stavek DECLARE definira spremenljivko Transact-SQL v skladu z naslednjim algoritmom:
  • definira ime, ki mora imeti prvi znak @;
  • dodelitev danega ali uporabniško določenega podatkovnega tipa in dolžine;
  • za številske spremenljivke je dodeljena tudi natančnost in merilo.
  • Za spremenljivke XML je mogoče dodeliti dodatno gradnjo sheme.
  • Nastavitev vrednosti na NULL. Na primer, operator DECLARE v poizvedbi SQL ustvari lokalno spremenljivko z imenom podatkovnega tipa int.
  • Če želite deklarirati več lokalnih spremenljivk, uporabite vejico po določitvi prve lokalne spremenljivke in nato podajte naslednje ime lokalnega omrežja in tip podatkov. Naslednji stavek na primer ustvari tri lokalne spremenljivke z imenom @LastName, @FirstName in @StateProvince ter inicializira vsak NULL. Prostor spremenljivke je obseg stavkov Transact-SQL, ki se lahko nanašajo na spremenljivko. Volumen spremenljivke traja od točke, ki je deklarirana do konca paketa ali shranjene procedure, v kateri je deklarirana.

    Sorodne publikacije