SQL Server

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

投稿日:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

まとめ

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

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

当サイトのおすすめ記事

パソコン 1

初心者でも失敗しないレンタルサーバーの選び方ですが、最近ではブログを立ち上げて、そこから広告収入を得る「アフィリエイト」が随分一般的になりました。 私の周りでも実際にやっている人が多くいます。 アフィ ...

プログラミング 2

SQLでIFを書けばWHERE句の内容を変えて検索できますが、条件ごとに同じようなSQLを 複数回書くのは面倒なので、1行で分岐できないかと言う事でSQLを作って見ました。 SQLでIFを使わずに条件 ...

SQLServer 3

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコードの内容を メッセージが定義されているテーブルから取得します。 エラーコードを取得するSQL SQLs ...

4

SQLServerでは「ユーザー定義型」と呼ばれる独自のテーブル型をした戻り値を返す関数を作成することができます。 その作り方と使い方を解説します。 SQLServerでテーブル型を戻り値とする関数を ...

5

アフィリエイトでいきなり成果を出すのは難しいです。 でも、成果がないとレンタルサーバー代やドメイン代がペイできません。 しかも長い間、結果がでないとやる気もなくなってしまいます。 そういったことを防ぐ ...

-SQL Server
-,

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