SQL Server

テーブル型を戻り値とする関数の作成方法

投稿日:

SQLServerでテーブル型を戻り値とする関数を作る

SQLServerではINT型やVARCHAR型などを返す関数と同様に
ユーザー定義テーブル型を戻り値とする関数を作成できます。

テーブル型を戻り値とする関数の作成

テーブル型を戻り値とする関数は通常の関数と同様に
CREATE FUNCTIONで作成します。

通常の関数との違いは「RETURNS」に続く部分が

と戻り値が呼び出し元に返したい形の
ユーザー定義テーブル型になっています。

戻り値のテーブルに値をINSERTして返します。
INSERTしない状態で関数を終了すると

となり、エラーで関数が作成できません。
また、最後は「RETURN」で終了している必要が
あります。

呼び出しかた

作成した関数を呼び出すには

のようにFROM句に指定して呼び出します。
テーブルと同じ扱いです。

実行結果は

です。

また、他のテーブルの値をSELECTして挿入することも
可能です。

本来1つしか戻り値を返せない関数もこの方法を利用すれば
複数行の検索結果を返す関数にすることができます。
VIEWを作成するより色々なロジックを組めるので
複雑な処理が可能になります。

当サイトのおすすめ記事

パソコン 1

当サイトは約5年間、さくらのレンタルサーバで運用させて頂きました。 何かトラブルがあったわけではないのですが、WordPressの表示速度を速くしたくてSSD搭載のレンタルサーバーで運用してみることに ...

プログラミング 2

Contents1 SQLでIFを使わずに条件分岐する1.1 1.テーブルとデータの準備1.2 2.条件を分岐させて検索1.3 3.解説 SQLでIFを使わずに条件分岐する SQLでIFを書けばWHE ...

SQLServer 3

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

4

Contents1 SQLServerでテーブル型を戻り値とする関数を作る1.1 テーブル型を戻り値とする関数の作成1.2 呼び出しかた SQLServerでテーブル型を戻り値とする関数を作る SQL ...

5

Contents1 アフィリエイトで即効成果を出す1.1 自分で買えば確実に成果が上がる1.2 A8.netでは自分で購入してもOKなものがある1.2.1 A8.netにサイトを登録する1.2.2 承 ...

-SQL Server
-, ,

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