sql >> Databáze >  >> RDS >> Sqlserver

Jak vytvořit uloženou proceduru v SQL Server

Chcete-li vytvořit uloženou proceduru na serveru SQL Server:

  1. Klikněte na Nový dotaz na panelu nástrojů SSMS
  2. Zadejte (nebo vložte) POSTUP VYTVOŘENÍ prohlášení (příklad níže)
  3. Klikněte na tlačítko Provést tlačítko na panelu nástrojů

Tím se uložená procedura přidá do databáze. Můžete jej vidět pod uzlem Uložené procedury v Průzkumníku objektů.

Níže jsou snímky obrazovky a další podrobnosti o výše uvedených krocích.

Nový dotaz

Klikněte na Nový dotaz na panelu nástrojů SSMS:

Prohlášení CREATE PROCEDURE

Zadejte POSTUP VYTVOŘENÍ prohlášení.

Příklad

Zde je příklad POSTUPU VYTVOŘENÍ prohlášení:

CREATE PROCEDURE LatestTasks @Count int AS
SET ROWCOUNT @Count
SELECT TaskName AS LatestTasks, DateCreated
FROM Tasks
ORDER BY DateCreated DESC

Tento skript vytváří uloženou proceduru s názvem LatestTasks, která přijímá parametr nazvaný Count.

Jak napsat Prohlášení o VYTVOŘENÍ POSTUPU

Skript spustíte příkazem CREATE PROCEDURE [procedure_name] AS.

Chcete-li například vytvořit uloženou proceduru s názvem GetCustomer, začněte s následujícím:

CREATE PROCEDURE GetCustomer AS

Postupujte podle kódu SQL pro uloženou proceduru – stejně jako ve výše uvedeném příkladu.

Pokud má uložená procedura přijímat parametry, přidejte je a jejich datový typ na první řádek. Před názvem parametru uveďte @ symbol.

Chcete-li například přidat parametr nazvaný CustomerId s datovým typem Integer:

CREATE PROCEDURE GetCustomer @CustomerId int AS

Proveďte výkaz

Klikněte na Provést tlačítko na panelu nástrojů pro spuštění příkazu SQL, který vytvoří uloženou proceduru.

Případně stiskněte F5 na klávesnici.

Nyní byste měli vidět uloženou proceduru v Průzkumníku objektů.

Proveďte uloženou proceduru

K provedení nebo volání uložené procedury použijte buď EXECUTE nebo EXEC příkaz (oba dělají totéž).

Takže to může být buď toto:

EXECUTE GetCustomer @CustomerId = 7

nebo toto:

EXEC GetCustomer @CustomerId = 7

Výše uvedené předává parametr nazvaný CustomerId s hodnotou 7. Změna této hodnoty by zpracovala jiného zákazníka.

Následující snímek obrazovky ukazuje účinek předání jiného parametru. Dva EXEC příkazy se spouštějí proti stejné uložené proceduře, ale každý z nich předává jinou hodnotu parametru:

Provádění uložené procedury z GUI

Uloženou proceduru můžete volat přímo z Průzkumníka objektů v GUI SSMS.

Jednoduše klikněte pravým tlačítkem na uloženou proceduru a vyberte Spustit uloženou proceduru... :

Výsledkem je, že se zobrazí následující dialogové okno „Spustit proceduru“, kde můžete zadat hodnoty pro všechny parametry, které bude uložená procedura používat:


  1. Kurzor SQLiteDatabase je prázdný pouze na zařízeních se systémem Android 5.0+

  2. Povolit hodnotu null v jedinečném sloupci

  3. Jak hledat řetězec v databázích SQL Serveru

  4. Jak používat role, které se změnily v MySQL 8.0