SQL Server ユーザー定義関数(2) 複数ステートメントのテーブル値関数

ユーザー定義関数 その2

— =============================================
— 複数ステートメントのテーブル値関数
— =============================================

CREATE FUNCTION fn_Test2
(
    @a1 int
)
RETURNS @retT TABLE
(
       — テーブル値の定義
        ID int primary key NOT NULL
    ,    b1 nvarchar(250)
)
AS
BEGIN

    WITH T1(ID1, Name1) AS
    (
        SELECT ID1, Name1 FROM Table1 WHERE ID2 = @a1
        UNION ALL   
        SELECT ID1, Name1 FROM Table2 WHERE ID3 = @a1
    )

    — @retT にデーターを入れて返す
    INSERT INTO @retT
        SELECT ID1_ID, Name1 FROM T1

    RETURN

END
GO


使い方

SELECT * FROM fn_Test2(1) –カッコの中にパラメーター値を入れる

参考:
ユーザー定義関数 (MSDN)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です