Jak vytvořit uložené procedury v SQL?

Tento článek o procedurách v SQL vám pomůže pochopit, co jsou to procedury a jak zvyšují výkon databáze, když jsou implementovány.

Postupy jsou podprogramy, které lze vytvářet a ukládat do souboru jako databázové objekty. Stejně jako v jiných jazycích můžete vytvářet a rušit procedury SQL také. V tomto článku se podíváme na procedury v SQL se syntaxí a příklady.

Témata diskutovaná v článku jsou:





Jaký je postup v SQL?

Postup v (často označované jako uložená procedura),je opakovaně použitelná jednotka, která zapouzdřuje konkrétní obchodní logiku aplikace. Procedura SQL je skupina příkazů a logiky SQL, sestavená a uložená společně k provedení konkrétního úkolu.

Procedura SQL - Procedury v SQL - Edureka



Níže jsou uvedeny klíčové vlastnosti procedur SQL:

  • Snadná implementace, protože používají velmi jednoduchéjazyk na vysoké úrovni se silným typem
  • Podporuje tři typy parametrů, jmenovitě,parametry vstupu, výstupu a vstupu-výstupu.
  • Spolehlivější než ekvivalentníexterní postupy.
  • Procedury SQL podporují opětovnou použitelnost a udržovatelnost.
  • Podporuje jednoduchý, ale výkonný model stavu a zpracování chyb.
  • Vraťte stavovou hodnotu volající proceduře nebo dávce, abyste označili úspěch nebo selhání a důvod selhání.

Nyní, když víte, jaké jsou procedury a proč jsou potřebné, pojďme si představit syntaxi a příklad procedury v SQL.

Syntaxe procedur v SQL

Následující příklad ilustruje základní syntaxi vytváření procedury v SQL:



VYTVOŘIT [NEBO VYMĚNIT] POSTUP název_ procedury [(název_parametru [IN | OUT | IN OUT] typ [])] ZAČÍNÁ [deklarace_sekce] spustitelný_sekce // Příkaz SQL použitý v uložené proceduře END GO

Terminologie syntaxe

Parametr

Parametr je proměnná, která obsahuje hodnotu libovolnéhoplatný datový typ SQL, jehož prostřednictvím si podprogram může vyměňovat hodnoty s hlavním kódem. Jinými slovy, strarametry se používají k předání hodnot do procedury. Existují 3 různé typy parametrů, které jsou následující:

  • V : TToto je výchozí parametr, který vždy přijímá hodnoty z volajícího programu. Jedná se o proměnnou jen pro čtení uvnitř podprogramů a její hodnotu nelze v podprogramu měnit.
  • VEN: to jeslouží k získání výstupu z podprogramů.
  • DOVNITŘ VEN: Tentoparametr se používá jak pro zadávání vstupů, tak pro získávání výstupů z podprogramů.

Další terminologie

  • název procedury určuje název procedury. Mělo by to být jedinečné.
  • Možnost [NEBO VYMĚNIT] umožňuje úpravu existujícího postupu.
  • JE | AS Klauzule, nastavilikontext k provedení uložené procedury.Rozdíl je v tom, že klíčové slovo „IS“ se používá, když je procedura vnořena do některých dalších bloků, a pokud je procedura samostatná, použije se „AS“.
  • Code_Block deklaruje procedurální příkazy, které zpracovávají veškeré zpracování v rámci uložené procedury. Obsah code_block závisí na pravidlech a procedurálním jazyce, který používá databáze .

Postup v SQL: Příklady

system.exit (0) java

Příklad 1

Následující příklad vytvoří jednoduchý postup, který po spuštění zobrazí uvítací zprávu na obrazovce. Poté bude postup:

VYTVOŘIT NEBO VYMĚNIT POSTUP welcome_msg (název para1_VE VARCHAR2) ZAČÍNÁ dbms_output.put_line („Hello World!“ || název para1) END /

Proveďte uloženou proceduru. Samostatný postup lze vyvolat dvěma způsoby & minus

jak používat tostring metodu v Javě
  • Za použití VYKONAT klíčové slovo
  • Volání názvu procedury z bloku SQL

Výše uvedený postup lze vyvolat pomocí klíčového slova Execute následujícím způsobem:

EXEC welcome_msg („Vítejte na Edurece!“)

Výstup

Ahoj světe! Vítejte v Edurece

Procedura je provedena a zpráva je vytištěna jako „Hello World! Vítejte v Edurece “.

Příklad 2

Předpokládejme, že máte tabulku s podrobnostmi Emplyoee, například EmployeId, křestní jméno, příjmení a DepartmentDetails.

Tento příklad vytvoří proceduru SQL, která vrátí jméno zaměstnance, když EmployeId je zadán jako vstupní parametr uložené procedury. Poté bude postup:

Vytvořit POSTUP GetStudentName (@employeeID INT, --Input parametr, EmployeID zaměstnance @employeName VARCHAR (50) OUT --Output parametr, employeeName zaměstnance JAKO ZAČÁTEK SELECT @ EmployeName = křestní jméno + '' + příjmení FROM Employee_Table WHERE EmployeId = @ EmployeID KONEC

Kroky k provedení:

  • Deklarovat @employeName jako nvarchar (50)
  • EXEC GetStudentName 01, výstup @employeName
  • vyberte @employeName

Výše uvedený postup při zadávání ID zaměstnance jako vstupu vrátí jméno konkrétního zaměstnance. Předpokládejme, že pokud máme výstupní parametr tnejdříve musíme deklarovat proměnnou, abychom shromáždili výstupní hodnoty.Nyní se podívejme na výhody postupu v SQL.

Výhody procedur v SQL

Hlavním účelem uložených procedur v SQL je přímé skrytí SQL dotazy z kódu a zlepšit výkon databázových operací, jako je výběr, aktualizace a odstranění dat. Další výhody postupu v SQL jsou:

  • Snižuje množství informací odeslaných na databázový server. Může se stát důležitější výhodou, když je šířka pásma sítě menší.
  • Umožňuje opětovné použití kódu
  • Zvyšuje zabezpečení, protože můžete uživateli udělit oprávnění k provádění uložené procedury namísto udělování oprávnění k tabulkám použitým v uložené proceduře.
  • Podpora vnořených volání procedur na jiné procedury SQL nebo procedury implementované v jiných jazycích.

Na závěr, procedury v SQL (uložené procedury)nejen zvyšuje možnost opětovného použití kódu, ale také zvyšuje výkon databáze. Jak? Snížením provozu sítě snížením množství informací odesílaných přes síť. Tím jsme se dostali na konec tohoto článku.

Pokud se chcete dozvědět více o MySQL a seznamte se s touto relační databází open-source, pak se podívejte na naši který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí předmětu.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „Procedury v SQL“ a my se vám ozveme.