PočítačeDatabáze

SQL uložené procedury: vytvoření a použití

SQL uložené procedury jsou spustitelné softwarový modul, který lze uložit do databáze v podobě různých objektů. Jinými slovy, jedná se o objekt, který obsahuje SQL-prohlášení. Tyto uložené procedury mohou být provedeny v klientské aplikaci získat dobrý výkon. Navíc tato zařízení jsou často nazýváni od jiných skriptů, nebo dokonce z jiného oddílu.

úvod

Mnoho lidí věří, že jsou podobné postupům různých programovacích jazyků na vysoké úrovni (v tomto pořadí, až na MS SQL). Možná, že je to pravda. Mají podobné parametry, se mohou vydat podobnou hodnotu. Kromě toho, v některých případech, které přicházejí do styku. Například, jsou kombinovány s databázemi DDL a DML dat, stejně jako uživatelských funkcí (kódové jméno - UDF).

Ve skutečnosti uložené procedury SQL má celou řadu výhod, které je odlišují mezi těmito procesy. Bezpečnost, variabilita programování produktivita - to vše láká uživatele pracující s databázemi, víc a víc. Vrchol popularity přišel postupů v letech 2005-2010, kdy jsem se dostal program z „Microsoft“ pod názvem «SQL Server Management Studio». S jeho pomocí, práce s databází se stala mnohem jednodušší, praktičtější a pohodlnější. Rok co rok, tento způsob přenosu informací získal popularitu v programovém prostředí. Dnes, MS SQL Server , je naprosto obvyklé program, který pro uživatele „komunikovat“ s databázemi, postavil na roveň s „Excel“.

Při volání procedury, je okamžitě zpracován serverem bez zbytečných procesů a zásahu uživatele. Pak můžete provést jakoukoli akci s informacemi: mazání, provedení, změnu. Přes to všechno je v DDL-operátorem, který jednou rukou provádět komplexní činnosti týkající se těchto objektů. A to vše se děje velmi rychle, a server není ve skutečnosti vložen. Tato rychlost a produktivita vám umožní rychle přenášet velké množství informací od uživatele na server a naopak.

Chcete-li implementovat tuto práci s informacemi, existuje několik programovacích jazyků technologií. Patří mezi ně například PL / SQL ze systému pro správu databází Oracle, PSQL v InterBase a Firebird systémy, stejně jako klasický „maykrosoftovskih» Transact-SQL. Všechny z nich jsou určeny k vytvoření a spuštění uložené procedury, která vám umožní používat své vlastní algoritmy na velké databáze manipulátory. Je nezbytné, a aby zajistily, že ti, kteří vykonávají správu těchto informací lze chránit všechny objekty před neoprávněnými třetími stranami, a tudíž vytváření, úpravě nebo zrušení určitých údajů.

produktivita

Tyto objekty databáze může být naprogramován různými způsoby. To umožňuje uživatelům zvolit typ procesu, který by byl nejvhodnější, což šetří čas a energii. Navíc samotný postup je zpracován, čímž by se zabránilo obrovské času stráveného na komunikaci mezi serverem a uživatelem. Modul lze přeprogramovat a změnit v správným směrem absolutně kdykoli. Za zmínku stojí zejména rychlost, s jakou spuštění SQL uložené procedury dochází: tento proces je rychlejší, jiná podobná k ní, což je pohodlné a univerzální.

bezpečnost

Tento typ zpracování informací se liší od podobných procesů v tom, že poskytuje zvýšenou bezpečnost. To je zajištěno tím, že ostatním uživatelům v přístupu postupů lze zcela eliminovat. To umožní správci provádět operace s nimi samostatně, bez obav z odposlechu a neoprávněnému přístupu k databázi.

přenos dat

Komunikace mezi uložené procedury SQL a klientské aplikace je použití parametrů a návratové hodnoty. Ten není třeba přenášet data do uložené procedury, ale informace (zejména na žádost uživatele), a zpracovány pro SQL. Jakmile uložené procedury dokončila svou práci, to posílá datové pakety zpět (ale opět v případě potřeby), aby volající aplikace pomocí různých metod, kterými mohou být realizovány jako volání uložené procedury SQL a návratu, například:

- přenos dat přes typ parametru výstup;

- přenos dat přes příkazem return;

- přenos dat prostřednictvím volby operátora.

A teď se podíváme, jak tento proces vypadá stejný vnitřek.

1. Vytvořte EXEC uložena v proceduře SQL

Můžete vytvořit proceduru v prostředí MS SQL (Managment Studio). Poté, co je vytvořen postup, je uveden na programovatelném databáze uzlu, ve kterém se postup provádí operátorem stvoření. Vykonat uložené procedury SQL pomocí EXEC-proces, který obsahuje název objektu.

Při vytváření název pochází první postup, a pak se jeden nebo více parametrů, které jsou přiřazeny k němu. Parametry mohou být volitelné. Po parametr (y), tj těla postupu, musí být napsáno, že je nezbytné provést některé nezbytné operace.

Skutečnost, že tělo může mít lokální proměnné, které se nacházejí v něm, a tyto proměnné jsou lokální a ve vztahu k postupům. Jinými slovy, mohou být považovány pouze v rámci péče o tělo Microsoft SQL Server. Uložené procedury v tomto případě jsou považovány za místní.

Tedy vytvořit proces, potřebujeme název procedury a alespoň jeden parametr jako zákroku těla. Upozorňujeme, že vynikající volbou v tomto případě je tvorba a realizace postupů s názvem schématu v číselníku.

Tělo postup může mít jakýkoliv druh operátorů SQL, například, jako je vytvoření tabulky, vložení jeden nebo více řádků tabulky, kterým se typ databáze a charakter, a tak dále. Nicméně postup tělo omezuje některé operace v něm. Některé z nejdůležitějších omezení jsou uvedeny níže:

- tělo nevytváří žádné jiné uložené procedury;

- tělo nesmí vytvářet falešný dojem o objektu;

- tělo nevytváří žádné aktivační události.

2. Nastavte proměnnou v těle procedury

Můžete si vytvořit proměnné lokální postupu těla, a pak budou v rámci procedury těla. Dobrou praxí je vytvořit proměnnou na začátku uložené procedury těla. Ale můžete také nastavit proměnné kdekoli v těle objektu.

Někdy si můžete všimnout, že některé proměnné jsou nastaveny ve stejném řádku a každé proměnné oddělené čárkou. Také si všimněte, že je proměnná s předponou @. V těle procedury, můžete nastavit proměnnou, ke které chcete. Například proměnná @ NAME1 může být oznámena na konci procedury těla. Aby bylo možné přiřadit hodnotu proměnné deklarovány pomocí soubor osobních údajů. Na rozdíl od situace, kdy více než jedna proměnná deklarované ve stejném řádku, pouze jednu sadu osobních údajů používá v této situaci.

Uživatelé se často ptají na otázku: „Jak přiřadit více hodnot v jediném příkazu v těle procedury‚Tak co?. Zajímavá otázka, ale je to mnohem jednodušší, než si myslíte. Odpověď: pomocí těchto párů jako «Select Var = hodnota“. Můžete použít tyto páry, které jsou odděleny čárkou.

3. Vytvořte proceduru SQL uloženy

V celé řadě příkladů lidí ukazují vytvoření jednoduchého uložené procedury a spustit jej. Postup však může mít takové parametry, že volající proces bude mít hodnotu blízkou ní (ale ne vždy). Pokud se shodují, pak začne příslušné procesy v těle. Například pokud vytvořit proceduru, která bude trvat na město a region od volajícího a vrátit údaje o tom, kolik se autoři odkazují na odpovídající města a regionu. Tento postup se bude dotazovat tabulky databáze autorů, například, hospody, k provádění tohoto výpočtu autory. K získání těchto databází, například Google stáhne skript SQL s SQL2005 stránce.

V předchozím příkladu se postup má dva parametry, které se v angličtině by se vyvolávají podmíněně @State a @City. Typ dat odpovídá typu uvedeného v žádosti. Tělo procedura má interní proměnné @TotalAuthors (všech autorů), a tato proměnná se používá pro zobrazení jejich počet. Dále přichází požadavek na část výběru, který ve všech ohledech. A konečně, vypočtená hodnota se zobrazí v okně výstupu pomocí příkazu tisku.

Jak provést proceduru SQL uloženy

Existují dva způsoby, jak provést tento postup. První způsob je znázorněn předáním parametrů jako čárkami oddělený se provádí po název procedury. Předpokládejme, že máme dvě hodnoty (jako v předchozím příkladu). Tyto hodnoty jsou shromažďovány pomocí proměnné a postup @State @City. V této metodě, důležité parametry pořadí přenosu. Tato metoda se nazývá přenos sekvence argumentů. Při druhém způsobu, parametry jsou již přiřazeny přímo, přičemž v tomto případě je pořadí není důležité. Tato druhá metoda je známá jako předávání pojmenované argumenty.

Tento postup se může mírně lišit od typické. Všechny stejné, jako v předchozím případě, ale parametry jsou zde posouvat jen. To je parametr @City je uložena jako první, a @State uloženy vedle výchozí hodnotu. Ve výchozím nastavení je obvykle přiděleno samostatně. uložené procedury SQL jsou základní parametry. V tomto případě, za předpokladu, že volba „UT‚nahradí výchozí hodnotu“CA". V druhém provedení prochází pouze jeden argument hodnotu @City a @State výchozí, na „CA“. Zkušení programátoři se doporučuje, aby všechny výchozí proměnné jsou umístěny blíže ke konci seznamu parametrů. V opačném případě se spuštění není možné, pak musíte pracovat s převodem pojmenované argumenty, že delší a složitější.

4. SQL Server uložené procedury: způsoby vracení

Existují tři hlavní způsoby, jak posílat data uložená v volané procedury. Oni jsou uvedeny níže:

- vrácené hodnoty uložené procedury;

- výstupní parametr uložené procedury;

- Vyberte jednu z uložených procedur.

4.1 Návratové hodnoty SQL uložených procedur

Při tomto postupu, postup nastaví hodnotu lokální proměnné a vrátí jej. Tento postup může také přímo vracet konstantní hodnotu. V následujícím příkladu jsme vytvořili proceduru, která vrátí celkový počet sponzorů. Porovnáme-li to s předchozím postupu, můžete vidět, že hodnota tisku je nahrazen naopak.

Nyní se podívejme na to, jak provést tento postup a zobrazit hodnotu, vrátí jej. Provedení postupů nutné zavést a variabilní tisk, který se provádí po procesu. Všimněte si, že místo tisku operátor lze použít pro výběr provozovatelů, například vybrat @RetValue a OutputValue.

4.2 Výstup parametrů SQL uložené procedury

Hodnota odezvy může být použit k návratu jedinou proměnnou, která jsme viděli v předchozím příkladu. Používání výstupu umožňuje postup, který má vyslat jednu nebo více proměnných s volajícím účastníkem. výstupní parametr je označen jako čas toto klíčové slovo «výstup» Při vytváření procedury. Je-li tento parametr zadán jako výstupní parametr, musí být předmětem řízení přiřadit mu hodnotu. Uložené procedury SQL, jejichž příklady lze vidět níže, v takovém případě se vrací do konečné informace.

V tomto příkladu bude název dva víkendy: @TotalAuthors a @TotalNoContract. Jsou uvedeny v seznamu parametrů. Tyto proměnné jsou přiřazeny hodnoty v rámci procedury těla. Když jsme se používají výstupní parametry, volající může vidět hodnotu nastavenou v postupu těle.

Navíc v předchozím scénáři dvě proměnné jsou deklarovány vidět hodnoty, které jsou nainstalovány uložené procedury, MS SQL Server jako výstupní parametr. Pak postup se provádí aplikováním běžné hodnoty «CA» parametru. Následující parametry jsou vysílány, a proto prohlášena proměnné jsou předány předepsaným způsobem. Upozorňujeme, že při zde také uvedeno, variabilní výstup klíčových slov. Poté, co je postup úspěšně dokončena, vrácená hodnota pomocí výkonových parametrů jsou zobrazeny v okně zprávy.

4.3 Výběrem uložené procedury jazyka SQL

Tato technika se používá k návratu sady ve formě datové tabulce hodnot (RecordSet) pro volání uložené procedury. V tomto příkladu SQL uložené procedury s parametry @AuthID požaduje tabulku „autory“ filtrováním záznamy vrácené tímto parametrem @AuthId. Select operátor rozhodne, jaké by měly být vráceny k volání uložené procedury. Když authid uložené procedury předány zpět. Takový postup je vždy vrátí pouze jeden záznam, nebo vůbec žádné. Nicméně, uložené procedury nemá žádné omezení týkající se návratu více než jeden vstup. Často příklady lze nalézt ve které vratné údaje vybrané pomocí parametrů s vypočítaných veličin se provádí tím, že množství celkových hodnot.

na závěr

Uložená procedura je docela vážný program vrátil nebo převedeny, jakož i vytvoření nezbytných proměnných kvůli klientské aplikace. Vzhledem k tomu, uložené procedury se provádí na samotný server, je možné se vyhnout výměna dat ve velkých objemech mezi serverem a klientskou aplikací (pro některé výpočty). To umožňuje snížit zátěž na SQL serveru, který, samozřejmě, je ruka jejich držitelů. Jeden z poddruhu jsou uložené procedury T SQL, ale jejich studie je zapotřebí, které jsou zapojeny do tvorby impozantní databáze. K dispozici je také velký, dokonce i obrovské množství odstínů, které mohou být užitečné při studiu uložených procedur, ale tato potřeba pro ty, kteří mají v plánu udělat těsný programování, včetně profesionálně.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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