【CREATE OR ALTER PROCEDURE】ストプロを作成する

この記事ではストアドプロシージャの
 ・出来ること
 ・メリット
 ・作成方法
 ・実行方法
を記載します!

ストプロで出来ること

ストプロで出来ることは以下です。

ストプロで出来ること一覧
  • テーブルの更新(UPDATEやDELETE、INSERT等)
  • トランザクション管理(エラー処理含む)
  • 関数の実行
  • etc


ユーザー定義関数で出来ないことが、ストプロでは出来ます。
ユーザー定義関数で出来ないことは、以下の記事を参照してください。


トランザクション管理(エラー処理含む)については、以下の記事を参照してください。

ストプロのメリット

ストプロのメリットは以下です。

ストプロのメリット一覧
  • セキュリティの強化
  • コードの再利用
  • パフォーマンスの向上
  • etc

詳細は公式サイトをご確認ください。

ストプロを作成する

ここでは
 ・入力パラメーターのNULLチェック
 ・出力パラメーターを出力
を実施します。

簡易に内容を変更できるよう、ここでは「CREATE OR ALTER PROCEDURE」を
使用してストプロを作成します。
※内容を変更する際に、「DROP PROCEDURE」でストプロを削除をせずともすむように。

  --DB名を設定
USE [sampleDB]
GO

CREATE OR ALTER PROCEDURE SampleProcedure
	--入力パラメーターと出力パラメーターの宣言
	@id     char(5),
	@outputName varchar(50) output
AS
	--入力パラメーターのNULLチェック
	IF @id IS NULL
		BEGIN
			RAISERROR('エラー!パラメータ未入力',16,1)
			RETURN
		END

	--入力パラメータを使用した処理、出力パラメーターに値を設定
	SELECT @outputName = name FROM employee WHERE id = @id
	RETURN
GO

ストプロを実行する

EXEC関数を用いて実行します。

「EXEC関数」は「EXECUTE関数」の省略形です。
よって「EXECUTE関数」でもストプロを実行することができます。

--ストプロの結果を設定する変数を設定
DECLARE
	@name varchar(50)

--ストプロを実行
EXEC SampleProcedure '00001',@name OUTPUT

--ストプロの結果を確認
SELECT '「id」の名前は「' + @name + '」です!'

実行結果

正常終了の場合

異常終了(NULLチェックエラー)の場合

タイトルとURLをコピーしました