PočítačeDatabázy

SQL uložené procedúry: vytvorenie a použitie

SQL uložené procedúry sú spustiteľné softvérový modul, ktorý možno uložiť do databázy v podobe rôznych objektov. Inými slovami, ide o objekt, ktorý obsahuje SQL-vyhlásenie. Tieto uložené procedúry môžu byť vykonané v klientskej aplikácii získať dobrý výkon. Naviac tieto zariadenia sú často nazývaní od iných skriptov, alebo dokonca z iného oddielu.

úvod

Mnoho ľudí verí, že sú podobné postupom rôznych programovacích jazykov na vysokej úrovni (v tomto poradí, až na MS SQL). Možno, že je to pravda. Majú podobné parametre, sa môžu vydať podobnú hodnotu. Okrem toho, v niektorých prípadoch, ktoré prichádzajú do styku. Napríklad, sú kombinované s databázami DDL a DML dát, rovnako ako užívateľských funkcií (kódové meno - UDF).

V skutočnosti uložené procedúry SQL má celý rad výhod, ktoré ich odlišujú medzi týmito procesmi. Bezpečnosť, variabilita programovanie produktivita - to všetko láka užívateľov pracujúcich s databázami, viac a viac. Vrchol popularity prišiel postupov v rokoch 2005-2010, kedy som sa dostal program z "Microsoft" pod názvom «SQL Server Management Studio». S jeho pomocou, práca s databázou sa stala oveľa jednoduchšie, praktickejšie a pohodlnejšie. Rok čo rok, tento spôsob prenosu informácií získal popularitu v programovom prostredí. Dnes, MS SQL Server , je úplne obvyklé program, ktorý pre užívateľa "komunikovať" s databázami, postavil na roveň s "Excel".

Pri volaní procedúry, je okamžite spracovaný serverom bez zbytočných procesov a zásahu užívateľa. Potom môžete vykonať akúkoľvek akciu s informáciami: mazanie, prevedenie, zmenu. Cez to všetko je v DDL-operátorom, ktorý jednou rukou vykonávať komplexné činnosti týkajúce sa týchto objektov. A to všetko sa deje veľmi rýchlo, a server nie je v skutočnosti vložený. Táto rýchlosť a produktivita vám umožní rýchlo prenášať veľké množstvo informácií od užívateľa na server a naopak.

Ak chcete implementovať túto prácu s informáciami, existuje niekoľko programovacích jazykov technológií. Patrí medzi ne napríklad PL / SQL zo systému pre správu databáz Oracle, PSQL v InterBase a Firebird systémy, rovnako ako klasický "maykrosoftovskih» Transact-SQL. Všetky z nich sú určené na vytvorenie a spustenie uloženej procedúry, ktorá vám umožní používať svoje vlastné algoritmy na veľké databázy manipulátory. Je nevyhnutné, a aby zabezpečili, že tí, ktorí vykonávajú správu týchto informácií možno chrániť všetky objekty pred neoprávnenými tretími stranami, preto vytváranie, úpravu alebo zrušenie určitých údajov.

produktivita

Tieto objekty databázy môže byť naprogramovaný rôznymi spôsobmi. To umožňuje užívateľom zvoliť typ procesu, ktorý by bol najvhodnejší, čo šetrí čas a energiu. Navyše samotný postup je spracovaný, čím by sa zabránilo obrovské času stráveného na komunikáciu medzi serverom a užívateľom. Modul je možné preprogramovať a zmeniť v správnym smerom absolútne kedykoľvek. Za zmienku stojí najmä rýchlosť, s akou spustenie SQL uložené procedúry dochádza: tento proces je rýchlejší, iná podobná k nej, čo je pohodlné a univerzálne.

bezpečnosť

Tento typ spracovania informácií sa líši od podobných procesov v tom, že poskytuje zvýšenú bezpečnosť. To je zabezpečené tým, že ostatným užívateľom v prístupe postupov možno úplne eliminovať. To umožní správcovi vykonávať operácie s nimi samostatne, bez obáv z odpočúvania a neoprávnenému prístupu k databáze.

prenos dát

Komunikácia medzi uložené procedúry SQL a klientskej aplikácie je použitie parametrov a návratové hodnoty. Ten nie je potrebné prenášať dáta do uloženej procedúry, ale informácie (najmä na žiadosť používateľa), a spracované pre SQL. Akonáhle uložené procedúry dokončila svoju prácu, to posiela dátové pakety späť (ale opäť v prípade potreby), aby volajúci aplikácie pomocou rôznych metód, ktorými môžu byť realizované ako volanie uložené procedúry SQL a návratu, napríklad:

- prenos dát cez typ parametra výstup;

- prenos dát cez príkazom return;

- prenos dát prostredníctvom voľby operátora.

A teraz sa pozrieme, ako tento proces vyzerá rovnaký vnútro.

1. Vytvorte EXEC uložená v procedúre SQL

Môžete vytvoriť procedúru v prostredí MS SQL (Managment Studio). Potom, čo je vytvorený postup, je uvedený na programovateľnom databázy uzle, v ktorom sa postup vykonáva operátorom stvorenia. Vykonať uložené procedúry SQL pomocou EXEC-proces, ktorý obsahuje názov objektu.

Pri vytváraní názov pochádza prvý postup, a potom sa jeden alebo viac parametrov, ktoré sú priradené k nemu. Parametre môžu byť voliteľné. Po parameter (y), tj tela postupu, musí byť napísané, že je nevyhnutné vykonať niektoré nevyhnutné operácie.

Skutočnosť, že telo môže mať lokálne premenné, ktoré sa nachádzajú v ňom, a tieto premenné sú lokálne a vo vzťahu k postupom. Inými slovami, môžu byť považované iba v rámci starostlivosti o telo Microsoft SQL Server. Uložené procedúry v tomto prípade sú považované za miestne.

Teda vytvoriť proces, potrebujeme názov procedúry a aspoň jeden parameter ako zákroku tela. Upozorňujeme, že vynikajúcou voľbou v tomto prípade je tvorba a realizácia postupov s názvom schémy v číselníku.

Telo postup môže mať akýkoľvek druh operátorov SQL, napríklad, ako je vytvorenie tabuľky, vloženie jeden alebo viac riadkov tabuľky, ktorým sa typ databázy a charakter, a tak ďalej. Avšak postup telo obmedzuje niektoré operácie v ňom. Niektoré z najdôležitejších obmedzení sú uvedené nižšie:

- telo nevytvára žiadne iné uložené procedúry;

- telo nesmie vytvárať falošný dojem o objekte;

- telo nevytvára žiadne aktivačné udalosti.

2. Nastavte premennú v tele procedúry

Môžete si vytvoriť premenné lokálne postupu tela, a potom budú v rámci procedúry tela. Dobrou praxou je vytvoriť premennú na začiatku uložené procedúry tela. Ale môžete tiež nastaviť premenné kdekoľvek v tele objekte.

Niekedy si môžete všimnúť, že niektoré premenné sú nastavené v rovnakom riadku a každé premennej oddelené čiarkou. Tiež si všimnite, že je premenná s predponou @. V tele procedúry, môžete nastaviť premennú, ktorej chcete. Napríklad premenná @ NAME1 môže byť oznámená na konci procedúry tela. Aby bolo možné priradiť hodnotu premennej deklarované pomocou súbor osobných údajov. Na rozdiel od situácie, keď viac ako jedna premenná deklarované v rovnakom riadku, iba jednu sadu osobných údajov používa v tejto situácii.

Užívatelia sa často pýtajú na otázku: "Ako priradiť viac hodnôt v jedinom príkaze v tele procedury,Tak čo ?. Zaujímavá otázka, ale je to oveľa jednoduchšie, než si myslíte. Odpoveď: pomocou týchto párov ako «Select Var = hodnota". Môžete použiť tieto páry, ktoré sú oddelené čiarkou.

3. Vytvorte procedúru SQL uložené

V celej rade príkladov ľudí ukazujú vytvorenie jednoduchého uložené procedúry a spustiť ho. Postup však môže mať také parametre, že volajúci proces bude mať hodnotu blízku nej (ale nie vždy). Ak sa zhodujú, potom začne príslušné procesy v tele. Napríklad, ak vytvoriť procedúru, ktorá bude trvať na mesto a región od volajúceho a vrátiť údaje o tom, koľko sa autori odvolávajú na zodpovedajúce mesta a regiónu. Tento postup sa bude pýtať tabuľky databázy autorov, napríklad, krčmy, k vykonávaniu tohto výpočtu autormi. Na získanie týchto databáz, napríklad Google stiahne skript SQL s SQL2005 stránke.

V predchádzajúcom príklade sa postup má dva parametre, ktoré sa v angličtine by sa vyvolávajú podmienečne @State a @City. Typ dát zodpovedá typu uvedeného v žiadosti. Telo procedúra má internú premenné @TotalAuthors (všetkých autorov), a táto premenná sa používa pre zobrazenie ich počet. Ďalej prichádza požiadavka na časť výberu, ktorý vo všetkých ohľadoch. A konečne, vypočítaná hodnota sa zobrazí v okne výstupu pomocou príkazu tlače.

Ako vykonať procedúru SQL uložené

Existujú dva spôsoby, ako vykonať tento postup. Prvý spôsob je znázornený odovzdaním parametrov ako čiarkami oddelený sa vykonáva po názov procedúry. Predpokladajme, že máme dve hodnoty (ako v predchádzajúcom príklade). Tieto hodnoty sú zhromažďované pomocou premenné a postup @State @City. V tejto metóde, dôležité parametre poradie prenosu. Táto metóda sa nazýva prenos sekvencie argumentov. Pri druhom spôsobe, parametre sú už priradené priamo, pričom v tomto prípade je poradie nie je dôležité. Táto druhá metóda je známa ako odovzdávanie pomenované argumenty.

Tento postup sa môže mierne líšiť od typické. Všetky rovnaké, ako v predchádzajúcom prípade, ale parametre sú tu posúvať len. To je parameter @City je uložená ako prvá, a @State uložené vedľa predvolenú hodnotu. Štandardne je zvyčajne pridelené samostatne. uložené procedúry SQL sú základné parametre. V tomto prípade, za predpokladu, že voľba "UT,nahradí predvolenú hodnotu" CA ". V druhom vyhotovení prechádza iba jeden argument hodnotu @City a @State predvolené, na "CA". Skúsení programátori sa odporúča, aby všetky predvolené premenné sú umiestnené bližšie ku konci zoznamu parametrov. V opačnom prípade sa spustenie nie je možné, potom musíte pracovať s prevodom pomenované argumenty, že dlhšie a zložitejšie.

4. SQL Server uložené procedúry: spôsoby vrátení

Existujú tri hlavné spôsoby, ako posielať dáta uložené v volané procedúry. Oni sú uvedené nižšie:

- vrátené hodnoty uložené procedúry;

- výstupný parameter uloženej procedúry;

- Vyberte si jednu z uložených procedúr.

4.1 Návratové hodnoty SQL uložených procedúr

Pri tomto postupe, postup nastaví hodnotu lokálne premenné a vráti ho. Tento postup môže tiež priamo vracať konštantnú hodnotu. V nasledujúcom príklade sme vytvorili procedúru, ktorá vráti celkový počet sponzorov. Ak porovnáme to s predchádzajúcim postupu, môžete vidieť, že hodnota tlače je nahradený naopak.

Teraz sa pozrime na to, ako vykonať tento postup a zobraziť hodnotu, vráti ho. Vykonanie postupov nutné zaviesť a variabilný tlač, ktorá sa vykonáva po procese. Všimnite si, že namiesto tlače operátor možno použiť pre výber prevádzkovateľov, napríklad vybrať @RetValue a OutputValue.

4.2 Výstup parametrov SQL uložené procedúry

Hodnota odozvy môže byť použitý k návratu jedinou premennou, ktorá sme videli v predchádzajúcom príklade. Používanie výstupu umožňuje postup, ktorý má vyslať jednu alebo viac premenných s volajúcim účastníkom. výstupný parameter je označený ako čas toto kľúčové slovo «výstup» Pri vytváraní procedúry. Ak je tento parameter zadaný ako výstupný parameter, musí byť predmetom konania priradiť mu hodnotu. Uložené procedúry SQL, ktorých príklady možno vidieť nižšie, v takom prípade sa vracia do konečnej informácie.

V tomto príklade bude názov dva víkendy: @TotalAuthors a @TotalNoContract. Sú uvedené v zozname parametrov. Tieto premenné sú priradené hodnoty v rámci procedúry tela. Keď sme sa používajú výstupné parametre, volajúci môže vidieť hodnotu nastavenú v postupe tele.

Navyše v predchádzajúcom scenári dve premenné sú deklarované vidieť hodnoty, ktoré sú nainštalované uložené procedúry, MS SQL Server ako výstupný parameter. Potom postup sa vykonáva aplikovaním normálnej hodnoty «CA» parametra. Nasledujúce parametre sú vysielané, a preto vyhlásená premenné sú odovzdané predpísaným spôsobom. Upozorňujeme, že pri tu tiež uvedené, variabilný výstup kľúčových slov. Potom, čo je postup úspešne dokončená, vrátená hodnota pomocou výkonových parametrov sú zobrazené v okne správy.

4.3 Výberom uložené procedúry jazyka SQL

Táto technika sa používa k návratu sady vo forme dátovej tabuľke hodnôt (RecordSet) pre volanie uloženej procedúry. V tomto príklade SQL uložené procedúry s parametrami @AuthID požaduje tabuľku "autormi" filtrovaním záznamy vrátený týmto parametrom @AuthId. Select operátor rozhodne, aké by mali byť vrátené na volanie uloženej procedúry. Keď authid uložené procedúry odovzdané späť. Takýto postup je vždy vráti iba jeden záznam, alebo vôbec žiadne. Avšak, uložené procedúry nemá žiadne obmedzenia týkajúce sa návratu viac ako jeden vstup. Často príklady možno nájsť v ktorej vratnej údaje vybrané pomocou parametrov s vypočítaných veličín sa vykonáva tým, že množstvo celkových hodnôt.

na záver

Uložená procedúra je celkom vážny program vrátil alebo prevedené, ako aj vytvorenie nevyhnutných premenných kvôli klientskej aplikácie. Vzhľadom k tomu, uložené procedúry sa vykonáva na samotný server, je možné sa vyhnúť výmena dát vo veľkých objemoch medzi serverom a klientskou aplikácií (pre niektoré výpočty). To umožňuje znížiť záťaž na SQL servera, ktorý, samozrejme, je ruka ich držiteľov. Jeden z poddruhu sú uložené procedúry T SQL, ale ich štúdie je potrebné, ktoré sú zapojené do tvorby impozantný databázy. K dispozícii je tiež veľký, dokonca aj obrovské množstvo odtieňov, ktoré môžu byť užitočné pri štúdiu uložených procedúr, ale táto potreba pre tých, ktorí majú v pláne urobiť tesný programovanie, vrátane profesionálne.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sk.delachieve.com. Theme powered by WordPress.