Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Výukový program na uložené procedúry v SQL servery

Uložené procedúry sú spustiteľné databázové objekty zložené z niekoľkých príkazov SQL . Pomáhajú zjednodušiť interakciu medzi databázou a koncového užívateľa , ktorý nemá dostatok odborných znalostí napísať zložité SQL dotazy . Môžete použiť uložené procedúry pre zabezpečenie prístupu , overenie dát a zjednodušuje komplexné spracovanie , ktoré vyžaduje viac príkazov SQL . Uložené procedúry môžu prijímať vstupné parametre , návratové hodnoty a vykonávať opakovanie logiku ako if , while a prípadové vyhlásenie . Veci , ktoré budete potrebovať v Microsoft SQL Server Query Analyzer
Zobraziť ďalšie inštrukcie Cestuj 1

Vytvorenie uložené procedúry pomocou CREATE PROCEDURE syntax ProcedureName . Zadajte nasledujúce príkazy k vytvoreniu uložené procedúry s názvom sporderscopy , ktorý kopíruje obsah z tabuľky Objednávky do OrdersCopy tabuľky .

CREATE PROCEDURE sporderscopy


SELECT * do OrdersCopy

objednávok

Vyššie uvedený postup vytvorí kópiu tabuľky orders . Môžete tiež pridať parametre , prekompilovať a pridajte šifrovanie pomocou príkazu CREATE PROCEDURE . Parametre pomôže prijať hodnoty v konaní , ktoré sú potrebné pre požadovaný výsledok . Výstupné parametre sa používajú na uloženie hodnoty , ktoré sú odovzdané späť do iného programu . Voliteľné parametre majú predvolenú hodnotu a nepotrebujú vstupnú hodnotu . Možnosť prekompilujte je systém zostaviť procedúru zakaždým , keď je spustený . Možnosť šifrovania umožňuje koncovému užívateľovi , aby si konečný výsledok bez zobrazenia kódu .
2

Uložené procedúry môžu prijímať vstupné hodnoty a odovzdať späť výstupných hodnôt do programu volanie uloženej procedúry vyhlásením parametrov . Vstupné parametre môžu byť voliteľný, ak priradiť predvolenú hodnotu pre nich pri vytváraní procedúry . Výstupné parametre sú definované zadaním OUTPUT kľúčových slov .

CREATE PROCEDURE sporderscount

@ total_order peňazí OUTPUT ,

@ order_date smalldatetime = NULL ,

@ customer_var varchar ( 40 ) = ' % '

AS

SELECT @ total_order = SUM ( total_order )

FROM orders JOIN zákazníkov

orders.orderID = customers.orderID

WHERE ( order_date > = @ date_var )

a ( CustomerName ako @ customer_var )

Vyššie uvedený postup má dva vstupné parametre a vráti parameter jeden výstup . Výstupný parameter je identifikovaný pomocou OUTPUT kľúčového slova .
3

Execute alebo spustiť procedúru pomocou syntaxe EXEC ProcedureName . Zadajte nasledujúce príkazy SQL na vykonanie uložené procedúry :

DECLARE @ mytotalorder peniaze

EXEC spordercount @ mytotalorder = @ total_order výstup , '2010 - 03 - 21 ' , ' D % '

príkazu DECLARE vytvorí výstupné premennú , ktorá bude ukladať hodnotu výstupného parametra uloženej procedúry . Vykonať príkaz slúži na spustenie uloženej procedúry . Pretože obidva vstupné parametre majú predvolené hodnoty , ktoré nemusia byť priradená hodnota pri vykonávaní postupu
4

Vrátené hodnoty z uloženej procedúry pridaním nasledujúci príkaz : .

RETURN @ order_count

Vyššie uvedené vyhlásenie v uloženej procedúre vráti hodnotu a uložiť ho do premennej v programe volanie procedúry . Môžete buď použiť návratový parameter alebo výstupný parameter odovzdať späť hodnotu volajúci program . Vo vyššie uvedenom vyhlásení , bude procedúra vráti počet riadkov v tabuľke objednávky .
5

pomocou príkazu ALTER PROCEDURE ProcedureName upraviť uložené procedúry . Syntax je podobná vytvorenie postupu . Zadajte nasledujúce príkazy zmeniť postup spordercount pridať ďalšie premennú stav . Uložená procedúra obmedzí riadky na základe štátu bydliska , skôr než meno .

ALTER PROCEDURE sporderscount

@ order_state varchar ( 30 ) = NULL ,

@ total_order peniaze OUTPUT ,

@ order_date smalldatetime = NULL

AS

SELECT @ total_order = súčet ( total_order )

FROM orders JOIN Zákazníci

ON orders.orderID = customers.orderID

WHERE ( order_date > = @ date_var )

A ( CustomerState = @ order_state )
6

Zmazať uložené postup pomocou príkazu DROP PROCEDURE ProcedureName . Nemôžete zrušiť účinok príkazu pretiahnutia . Odstrániť spordercount uložené procedúry zadaním nasledujúceho príkazu :

DROP PROCEDURE sporderscount

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené