SQL Serverでは、テーブル値関数(TVF)を介してデータを挿入できます。
これは、関数がクエリする基になるテーブルに行を挿入することを意味します。
TVFを介して新しい行を挿入するには、同じT-SQL INSERT
を使用するだけです。 データをテーブルに直接挿入する場合に使用する構文。
例
簡単な例を次に示します。
機能
これは、テーブルから基本データを選択するクイック関数です。
CREATE FUNCTION dbo.udf_Cats_ITVF() RETURNS TABLE AS RETURN ( SELECT CatId, CatName, Phone FROM dbo.Cats ); GO
この関数は、テーブルからすべての行を選択します。
この関数を使用して、そのテーブルに新しい行を挿入できます。
関数でデータを選択
通常、SELECT
を使用して関数を呼び出す方法は次のとおりです。 声明。これにより、基になるテーブルの現在のデータを確認できます。
SELECT * FROM udf_Cats_ITVF();
結果:
+---------+-----------+------------+ | CatId | CatName | Phone | |---------+-----------+------------| | 1 | Garfield | 9871237654 | | 2 | Felix | 8871237651 | | 3 | Tom | 7871237652 | | 4 | Fetch | 6871237653 | +---------+-----------+------------+
したがって、4つの行があります。
関数を介して行を挿入
次に、TVFを使用して新しい行を追加しましょう。
INSERT INTO udf_Cats_ITVF() VALUES ('Scratchy', '1111111111'); SELECT * FROM udf_Cats_ITVF();
結果:
+---------+-----------+------------+ | CatId | CatName | Phone | |---------+-----------+------------| | 1 | Garfield | 9871237654 | | 2 | Felix | 8871237651 | | 3 | Tom | 7871237652 | | 4 | Fetch | 6871237653 | | 5 | Scratchy | 1111111111 | +---------+-----------+------------+
そこで、インラインのテーブル値関数を使用して新しい猫を挿入することに成功しました。