HOME >> Tips >> SQL Server Tips >> SQL

引数を省略することができるストアドプロシージャを作成する方法

 
文書番号:20632




ストアドプロシージャの引数に初期値を設定して、実行時に引数の指定を省略するkとができるストアドプロシージャを作成する方法です。

指定する引数がその引数の初期値と同じ場合は指定する必要がありません。

異なる場合はその引数に指定値を指定することでその引数で実行することができます。

・引数を省略できるストアドプロシージャを作成する


CREATE PROCEDURE TestProcedure
     @code        char(4)
    ,@name        varchar(50) = '未設定' 
    ,@finish_date date        = '2099/12/31' 
AS
BEGIN

    INSERT INTO Table_1
    VALUES (
         @code
        ,@name
    	,@finish_date
    )
END

・引数をすべて指定してストアドプロシージャを実行する


exec TestProcedure '0001','りんご','2020/9/30';


-- 結果を確認する
select * from Table_1;

code   name    finish_date
---------------------------
0001   りんご  2020/9/30

・引数を省略してストアドプロシージャを実行する


exec TestProcedure '0001';


-- 結果を確認する
select * from Table_1;

code   name    finish_date
---------------------------
0001   未設定  2099/12/31