Ako vytvoriť uložené procedúry v SQL?



Tento článok o procedúrach v SQL vám pomôže pochopiť, čo sú to procedúry a ako zvyšujú výkonnosť databázy, keď sa implementujú.

Procedúry sú podprogramy, ktoré je možné vytvárať a ukladať do ako databázové objekty. Rovnako ako v iných jazykoch, aj v ňom môžete vytvárať a vypúšťať postupy SQL tiež. V tomto článku sa pozrime na postupy v jazyku SQL so syntaxou a príkladmi.

Témy diskutované v článku sú:





Aký je postup v SQL?

Postup v (často sa označuje ako uložená procedúra),je opakovane použiteľná jednotka, ktorá zapuzdruje konkrétnu obchodnú logiku aplikácie. Procedúra SQL je skupina príkazov a logiky SQL, zostavená a uložená spoločne za účelom vykonania konkrétnej úlohy.

Procedúra SQL - Procedúry v SQL - Edureka



Ďalej sú uvedené kľúčové vlastnosti postupov SQL:

  • Ľahko implementovateľné, pretože používajú veľmi jednoduchéjazyk na vysokej úrovni so silným typom písma
  • Podporuje tri typy parametrov, menovite,vstupné, výstupné a vstupno-výstupné parametre.
  • Spoľahlivejšie ako ekvivalentnéexterné postupy.
  • Procedúry SQL podporujú opätovnú použiteľnosť a udržiavateľnosť.
  • Podporuje jednoduchý, ale výkonný model stavu a riešenia chýb.
  • Vráťte stavovú hodnotu volajúcej procedúre alebo dávke, aby ste označili úspech alebo neúspech a dôvod zlyhania.

Teraz, keď viete, čo sú to procedúry a prečo sú potrebné, poďme si predstaviť syntax a príklad procedúry v SQL.

Syntax procedúr v SQL

Nasledujúci text ilustruje základnú syntax vytvárania procedúry v jazyku SQL:



VYTVORTE [ALEBO VYMEŇTE] POSTUP procedure_name [(parameter_name [IN | OUT | IN OUT] typ [])] ZAČÍNA [vyhlásenie_sekcie] spustiteľný_sekcia // Príkaz SQL použitý v uloženej procedúre END GO

Syntaxové terminológie

Parameter

Parameter je premenná, ktorá má hodnotu ľubovoľnéhoplatný dátový typ SQL, prostredníctvom ktorého si podprogram môže vymieňať hodnoty s hlavným kódom. Inými slovami, parametre sa používajú na odovzdanie hodnôt do postupu. Existujú 3 rôzne typy parametrov, ktoré sú nasledujúce:

  • IN : Ttoto je predvolený parameter, ktorý vždy prijíma hodnoty z volajúceho programu. Je to premenná iba na čítanie vo vnútri podprogramov a jej hodnotu nie je možné meniť vo vnútri podprogramu.
  • VON: to jepoužíva sa na získanie výstupu z podprogramov.
  • DNU VON: Totoparameter sa používa ako na zadávanie vstupov, tak na získanie výstupov z podprogramov.

Ostatné terminológie

  • postup-nazov špecifikuje názov postupu. Malo by to byť jedinečné.
  • Možnosť [ALEBO VYMENIŤ] umožňuje úpravu existujúceho postupu.
  • JE | ALEBO klauzulu nastavilikontext na vykonanie uloženej procedúry.Rozdiel je v tom, že kľúčové slovo „IS“ sa používa, keď je procedúra vnorená do niektorých ďalších blokov, a ak je procedúra samostatná, potom sa používa „AS“.
  • Code_Block deklaruje procedurálne vyhlásenia, ktoré spracúvajú všetko spracovanie v rámci uloženej procedúry. Obsah code_block závisí od pravidiel a procedurálnych jazykov, ktoré používa databázy .

Postup v SQL: Príklady

system.exit (0) java

Príklad 1

Nasledujúci príklad vytvorí jednoduchý postup, ktorý po vykonaní zobrazí uvítaciu správu na obrazovke. Potom bude postup:

VYTVORTE ALEBO VYMENTE POSTUP welcome_msg (názov para1_name VO VARCHAR2) ZAČÍNAME dbms_output.put_line („Hello World!“ || názov para1_name) KONIEC /

Vykonajte uloženú procedúru. Samostatný postup možno nazvať dvoma spôsobmi & mínus

java čo je skener
  • Pomocou VYKONAŤ kľúčové slovo
  • Volanie názvu procedúry z bloku SQL

Vyššie uvedený postup je možné vyvolať pomocou kľúčového slova Execute nasledovne:

EXEC welcome_msg („Vitajte na Edureke!“)

Výkon

Ahoj Svet! Vitajte na Edureka

Procedúra sa vykoná a správa sa vytlačí ako „Hello World! Vitajte v Edureke “.

Príklad 2

Predpokladajme, že máte tabuľku s podrobnosťami spoločnosti Emplyoee, ako napríklad EmployeId, meno, priezvisko a DepartmentDetails.

Tento príklad vytvára procedúru SQL, ktorá vráti meno zamestnanca, keď EmployeId sa dáva ako vstupný parameter do uloženej procedúry. Potom bude postup:

Vytvorte POSTUP GetStudentName (@employeeID INT, --Input parameter, EmployeID zamestnanca @employeName VARCHAR (50) OUT --Output parameter, employeeName zamestnanca AKO ZAČAŤ VYBRAŤ @ @ EmployeName = Meno + '+ Priezvisko FROM Employee_Table KDE KAM EmployeId = @ EmployeID KONIEC

Kroky na vykonanie:

  • Deklarovať @employeName ako nvarchar (50)
  • EXEC GetStudentName 01, výstup @employeName
  • vyberte @employeName

Vyššie uvedený postup pri zadávaní ID zamestnanca ako vstupu vráti meno konkrétneho zamestnanca. Predpokladajme, že ak máme výstupný parameter tpotom musíme najskôr deklarovať premennú, aby sme zhromaždili výstupné hodnoty.Teraz sa pozrime na výhody postupu v SQL.

Výhody procedúr v SQL

Hlavným účelom uložených procedúr v SQL je priame skrytie SQL dotazy z kódu a zlepšiť výkon databázových operácií, ako je výber, aktualizácia a odstránenie údajov. Ďalšie výhody postupu v SQL sú:

  • Znižuje množstvo informácií odosielaných na databázový server. Môže sa stať dôležitejšou výhodou, ak je šírka pásma siete menšia.
  • Umožňuje opätovné použitie kódu
  • Zvyšuje zabezpečenie, pretože používateľovi môžete udeliť povolenie na vykonanie procedúry Uložené namiesto udelenia povolenia tabuľkám použitým v procedúre Uložené.
  • Podpora vnorených volaní procedúr na iné procedúry SQL alebo procedúry implementované v iných jazykoch.

Na záver, procedúry v SQL (uložené procedúry)nielen zvyšuje možnosť opätovného použitia kódu, ale zvyšuje aj výkon databázy. Ako? Znížením prenosu v sieti znížením množstva informácií odosielaných cez sieť. Týmto sme sa dostali na koniec tohto článku.

Ak sa chcete dozvedieť viac o MySQL a spoznajte túto relačnú databázu open-source, potom si pozrite našu ktorá prináša živé školenie vedené inštruktorom a skúsenosti s projektmi v reálnom živote. Toto školenie vám pomôže pochopiť MySQL do hĺbky a pomôže vám dosiahnuť osvojenie si témy.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov v tomto článku „Procedúry v jazyku SQL a my sa vám ozveme.