A Transact-SQL ( T-SQL ) az SQL nyelv eljárási kiterjesztése, amelyet a Microsoft ( Microsoft SQL Serverhez ) és a Sybase ( Sybase ASE -hez ) hozott létre.
Az SQL további funkciókkal bővült, mint például:
A Transact-SQL nyelv az MS SQL Server használatának kulcsa. Minden alkalmazás, amely együttműködik az MS SQL Server egy példányával, függetlenül azok megvalósításától és felhasználói felületétől, Transact-SQL utasításokat küld a kiszolgálónak.
A Script direktívák speciális parancsok, amelyeket csak az MS SQL használ. Ezek a parancsok segítenek a kiszolgálónak meghatározni a parancsfájllal és a tranzakciókkal kapcsolatos szabályokat. Tipikus képviselők: GO - tájékoztatja az SQL Server programokat a Transact-SQL utasítások kötegének végéről, EXEC (vagy EXECUTE) - végrehajt egy eljárást vagy skaláris függvényt.
A megjegyzések magyarázatot adnak a szkriptblokkokhoz, valamint ideiglenesen letiltják a parancsokat a szkript hibakeresése során. A megjegyzések lehetnek soron belüli vagy blokkolt megjegyzések:
-- - egy sor megjegyzés csak egy sort zár ki a végrehajtásból, amelyet két mínusz előz meg.
/* */ — a blokk megjegyzés kizárja a végrehajtásból a megadott konstrukcióba zárt parancsok teljes blokkját. Lehetővé teszi a beágyazott megjegyzéseket.
A programozási nyelvekhez hasonlóan az SQL is különböző adattípusokkal rendelkezik a változók tárolására:
Jegyzet. Az orosz karakterek (nem ASCII-kódolások) használatához az „n” előtagú adattípusokat (nchar, nvarchar, ntext) használjuk, amelyek két bájtban kódolják a karaktereket. Más szavakkal, a Unicode használatához az „n” betűs adattípusokat (a nemzeti szóból) használjuk. A Unicode karakterlánc-konstansok is „n”-nel vannak írva az elején.
Jegyzet. A változó hosszúságú adatokhoz a „var” előtagú adattípusok használatosak. A „var” előtag nélküli adattípusok fix hosszúságú memóriaterülettel rendelkeznek, amelynek fel nem használt része szóközökkel vagy nullákkal van kitöltve.
Az azonosítók olyan speciális karakterek, amelyeket a változókkal együtt használnak a típusuk azonosítására vagy a szavak változóba csoportosítására. Azonosító típusok:
A változókat szkriptekben és ideiglenes adatok tárolására használják. Ahhoz, hogy egy változóval dolgozhassunk, deklarálni kell, és a deklarációt meg kell tenni abban a tranzakció- és utasításcsomagban, amelyben az ezt a változót használó parancs végrehajtásra kerül. Más szóval, a tranzakció befejezése után, valamint a GO parancs után a változó megsemmisül.
A változó deklarálását a DECLARE parancs hajtja végre, a változó értékét a SET vagy a SELECT parancs adja meg:
Tesztadatbázis HASZNÁLATA -- Változók deklarálása DECLARE @EmpID int , @EmpName varchar ( 40 ) -- Állítsa be az @EmpID változó értékét BEÁLLÍTÁS @EmpID = 1 -- Állítsa be az @EmpName változó értékét SELECT @EmpName = Felhasználónév FROM Felhasználók WHERE UserID = @EmpID -- Az @EmpName változó kinyomtatása a lekérdezés eredményében SELECT @EmpName AS [ alkalmazott neve ] MEGYJegyzet. Ez a példa a szavak tokenbe csoportosítását használja – az [Employee Name] konstrukciót egyetlen tokenként kezeli a rendszer, mivel a szavak szögletes zárójelben vannak.
Az operátorok speciális parancsok, amelyek egyszerű műveletek végrehajtására szolgálnak változókkal:
A Transact-SQL specifikáció beépített funkciókkal nagymértékben kibővíti az SQL szabványos szolgáltatásait:
Jegyzet. A funkciók teljes listája az SQL Server súgójában található.
Jegyzet. A skaláris függvények globális változókat is tartalmaznak, amelyeket a "@@" dupla kutya hív meg a szkript szövegében.
Példa:
Tesztadatbázis HASZNÁLATA -- Aggregált függvény használata az átlagfizetés kiszámításához _ SELECT AVG ( BaseSalary ) AS [ Átlag fizetés ] A pozíciókból MEGY -- Skaláris függvény használata az adatbázis nevének lekérésére _ SELECT DB_NAME () AS [ Adatbázis neve ] MEGY -- Skaláris függvény használata az aktuális felhasználó nevének lekérésére DECLARE @MyUser char ( 30 ) SET @MyUser = USER_NAME () SELECT 'Az aktuális felhasználó adatbázis-felhasználóneve: ' + @MyUser MEGY -- Mutató funkció használata adatok lekéréséhez egy másik szerverről _ _ SELECT * FROM OPENQUERY ( OracleSvr , 'SELECT név, azonosító FROM tulajdonos.titles' ) MEGYA kifejezés szimbólumok és operátorok kombinációja, amely bemenetként skaláris értéket vesz fel, és egy másik értéket ad vissza, vagy valamilyen műveletet hajt végre kimenetként. A Transact-SQL-ben 3 típusú kifejezés létezik: DDL, DCL és DML.
Példa:
Tesztadatbázis HASZNÁLATA -- DDL használata CREATE TABLE TempUsers ( UserID int , UserName nvarchar ( 40 ), DepartmentID int ) MEGY -- DCL használata KIVÁLASZTÁS ELLENŐRZÉSE A felhasználókat nyilvánossá _ MEGY -- DML használata SELECT UserID , UserName + ' ' + UserSurname AS [ User Full Name ] FROM Users MEGY -- DDL használata DROP TABLE TempUsers MEGYA Transact-SQL-ben vannak speciális parancsok, amelyek lehetővé teszik a szkript végrehajtásának vezérlését úgy, hogy megszakítják vagy a megfelelő ágra irányítják át.
Microsoft SQL Server | |||||||||
---|---|---|---|---|---|---|---|---|---|
Fejlesztő cégek | |||||||||
Verziók |
| ||||||||
Szolgáltatások | |||||||||
segédprogramok |
| ||||||||
SQL kiterjesztések |
| ||||||||
Továbbá |
|