ストアド プロシージャを作成する
ストアド プロシージャは、 CREATE PROCEDURE キーワードを使用して作成されます。 ストアド プロシージャを作成するには、次のアクセス許可が必要です。
- データベースの CREATE PROCEDURE 権限。
- プロシージャが作成されているスキーマに対する ALTER 権限。
最初に SELECT ステートメントを記述してテストし、正常に動作していることを確認したら、スキーマとプロシージャ名の前に CREATE PROCEDURE キーワードを追加します。
たとえば、次のコードでは、SalesLT スキーマに TopProducts というストアド プロシージャを作成します。
CREATE PROCEDURE SalesLT.TopProducts AS
SELECT TOP(10) name, listprice
FROM SalesLT.Product
GROUP BY name, listprice
ORDER BY listprice DESC;
ストアド プロシージャを修正するには、 ALTER PROCEDURE キーワードを使用します。 たとえば、次のコードは TopProducts ストアド プロシージャを修正して上位 100 個の製品を返します。
ALTER PROCEDURE SalesLT.TopProducts AS
SELECT TOP(100) name, listprice
FROM SalesLT.Product
GROUP BY name, listprice
ORDER BY listprice DESC;
ALTER PROCEDURE キーワードを使用してストアド プロシージャを修正すると、ストアド プロシージャに割り当てられているセキュリティ アクセス許可が保持されます。 初期開発の後は、ストアドプロシージャを削除して再作成するよりも、こちらのほうが通常は好ましいです。
または、次のコードのように DROP PROCEDURE 'procedure_name' を使用します。
DROP PROCEDURE myProcedure;