Yhteenveto: Tässä opetusohjelmassa opit käyttämään BEGIN...END
-lauseen avulla joukon Transact-SQL-lauseiden kietomista lausekelohkoon.
Yleiskatsaus BEGIN…END-lauseeseen
Lauseketta BEGIN...END
käytetään lausekelohkon määrittämiseen. Lauselohko koostuu joukosta SQL-lauseita, jotka suoritetaan yhdessä. Lauselohko tunnetaan myös nimellä batch.
Muuten sanoen, jos lausekkeet ovat lauseita, BEGIN...END
-lausekkeen avulla voit määritellä kappaleita.
Seuraavassa havainnollistetaan BEGIN...END
-lauseen syntaksia:
Code language: SQL (Structured Query Language) (sql)
Tässä syntaksissa asetat joukon SQL-lauseita BEGIN
– ja END
-avainsanojen väliin, esim:
Code language: SQL (Structured Query Language) (sql)
Tulos:
Katsellaksesi PRINT
-lauseen tuottamia viestejä SQL Server Management Studiossa napsauta Messages
-välilehteä. Oletusarvoisesti Viestit-välilehti on piilotettu.
Tässä esimerkissä:
- Ensiksi meillä on lohko, joka alkaa
BEGIN
-avainsanalla ja päättyyEND
avainsanaan. - Toiseksi lohkon sisällä on
SELECT
-lause, joka etsii tuotteet, joiden listahinnat ovat yli 100 000. Sitten meillä onIF
-lause, jolla tarkistetaan, palauttaako kysely yhtään tuotetta, ja tulostetaan viesti, jos yhtään tuotetta ei palaa.
Huomaa, että @@ROWCOUNT
on järjestelmämuuttuja, joka palauttaa viimeisimmän edellisen lausekkeen vaikutuspiiriin kuuluvien rivien lukumäärän.
Lauseke BEGIN... END
rajaa SQL-lauseiden loogisen lohkon. Käytämme usein BEGIN...END
-lausetta tallennettujen proseduurien ja funktioiden alussa ja lopussa. Se ei kuitenkaan ole ehdottoman välttämätön.
Mutta BEGIN...END
tarvitaan IF ELSE
-lausekkeissa, WHILE
-lausekkeissa jne., joissa on paketoitava useita lausekkeita.
Nesting BEGIN… END
Lauselohko voi olla sisäkkäinen. Se tarkoittaa yksinkertaisesti sitä, että voit sijoittaa BEGIN...END
-lauseen toisen BEGIN... END
-lauseen sisälle.
Harkitse seuraavaa esimerkkiä:
Code language: SQL (Structured Query Language) (sql)
Tässä esimerkissä käytimme BEGIN...END
-lauseen koko lausekelohkon kietomiseen. Tämän lohkon sisällä käytimme BEGIN...END
myös IF...ELSE
-lauseen
Tässä opetusohjelmassa olet oppinut SQL Serverin BEGIN...END
-lauseesta, jolla Transact-SQL-lauseet paketoidaan lohkoihin.