SQL Server

SQLServerの関数(ストアドファンクション)で引数を省略する方法

投稿日:2018/09/21 更新日:

SQLServerでは独自に関数SQLServerの関数(ストアドファンクション)で引数を省略する方法を作成することができます。

関数(ストアドファンクション)には引数を持たせることができるのですが、その引数の値を指定せずにDEFAULT(規定値)で実行することもできます。

今回は作成した関数の引数を指定しない(省略する)方法を解説します。

SQLServerの関数で引数を省略する方法

SQLServerでプログラミング言語(T-SQL)を使って作成できる処理はストアドプロシジャーと関数の2種類があります。

ストアドプロシージャーと関数では引数を省略する方法が違うので、ストアドプロシージャーでの省略する方法は以下の記事を参照してください。

関数で引数を省略する方法

関数で引数を省略するするには関数側の宣言で、その引数のDEFAUT(規定値)を指定します。
(実はストアドプロシージャーと同じですが・・・)

このように引数の宣言に値(規定値)を設定します。

関数はこれで良いのですが、問題は呼び出す側です。

この関数をストアドプロシージャーの要領で普通に呼び出すと

というエラーが表示されます。

実は関数の引数の場合は完全に省略できるわけではなくて、本来値を指定する位置に「DEFAULT」という記述が必要です。

上記のSQLを実行するとちゃんと1番目は渡した引数、2番目は規定値でテーブルが返されてきます。

まとめ

SQLServerの関数の引数の省略はストアドプロシージャーと違って、省略する引数の位置に「DEAFULT」というキーワードを書く必要があります。

以上、「SQLServerの関数(ストアドファンクション)で引数を省略する方法」でした。




-SQL Server
-,

Copyright© ソフトウェア開発日記 , 2018 All Rights Reserved.