sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2008-テーブル値関数からユーザー定義のテーブルタイプを返すにはどうすればよいですか?

    関数からUDTTを返すことはできませんが、テーブル変数を返し、スキーマが一致する限りUDTTで受け取ることができます。 。次のコードは、 SQL Server 2008 R2でテストされています。

    -UDTTを作成します

    CREATE TYPE dbo.MyCustomUDDT AS TABLE
    (
        FieldOne varchar (512),
        FieldTwo varchar(1024)
    )
    

    -変数を宣言します

    DECLARE @uddt MyCustomUDDT;
    DECLARE @Modifieduddt MyCustomUDDT;
    

    //関数を呼び出します

    INSERT INTO @Modifieduddt SELECT * FROM dbo.MyUDF(@uddt);
    

    関数シグネチャ

    CREATE FUNCTION dbo.MyUDF(@localUDDT MyCustomUDDT)
    RETURNS @tableVar TABLE
    (
        FieldOne varchar (512),
        FieldTwo varchar(1024)
    )
    AS
    BEGIN
     --Modify your variable here
    RETURN
    END
    

    うまくいけば、これは誰かを助けるでしょう。



    1. SQLServerのCROSSAPPLYに類似したPostgres

    2. ハロウィーンの問題–パート4

    3. SQLSELECTAND演算子

    4. SQLTとパーティショニング