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

公開日: : SQL Server , ,

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

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

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

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

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

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

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

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

呼び出しかた

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

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

実行結果は

です。

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

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

スポンサーリンク
スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 13 follow us in feedly

関連記事

sp_pkeys – SQL Serverでテーブルのプライマリキーを取得する

sp_pkeysを使ってSQL Serverでテーブルのプライマリキーを取得します。

記事を読む

テーブルにユニークインデックス(UNIQUE INDEX)を作成する

テーブルにユニークインデックス(UNIQUE INDEX)を作成 すでに作成したテーブルにユニ

記事を読む

SQLServer

テーブルに設定されているインデックスをSQLで検索する

テーブルに設定されているインデックスをSQLで検索 SQLServerでテーブルに設定されてい

記事を読む

SQLで大文字、小文字変換を行う

SQLで大文字⇔子文字変換を行う SQLで大文字⇔小文字変換を行うには「UPPER関数」と「LOW

記事を読む

SQLServer

テーブルのプライマリキー(PK)を取得する(SQL編)

SQLServerでテーブルのプライマリキー(PK)をSQLで取得する SQLServerでテーブ

記事を読む

既に存在するテーブルに他のテーブルからデータをINSERTする方法

テーブルからテーブルへデータコピー 以前の投稿SELECT INTOで既存テーブルのデータを新規テ

記事を読む

SQL Server-SQLでテーブル仕様書になるものネタを取ってみる

SQLでテーブル仕様書になるものネタを取ってみます。 これを実行すると [crayo

記事を読む

SQLServer

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です。 3ケタずつ

記事を読む

指定した列名がどのテーブルで使用されているか検索するSQL

指定した列名を利用しているテーブルを検索 SQLServerで指定した列名がどのテーブルで使用され

記事を読む

SQLで当月の第何週目の何曜日か取得する

SQLで今日は第何週、何曜日か取得する SQLServerでは関数で今日は当月の第何週目か取得する

記事を読む

SQLServerのエラーコード一覧

SQLServerで発生するエラーコードとその内容を表にしてみました。

SQLで改行コードを含む項目を取得する

SQLで改行コードを含む項目を検索する Microsoft SQL

SQLServerではTRIM関数がありません

SQLServerでは空白を取り除くTRIM関数がない SQLSer

SQLで文字列を3分割する

SQLで文字列を3分割する どうしてもSQLServerで特定の

SQLでビット演算を行う

SQLServerでのビット演算 SQLServerのT-SQLでビ

→もっと見る



PAGE TOP ↑