sql >> Databáze >  >> RDS >> Sqlserver

Vytvořte funkci T-SQL s parametrem tabulky

Počínaje SQL Server 2008 můžete použít parametry s hodnotou tabulky:

CREATE TYPE [dbo].[TableType] AS TABLE(
[ID] [INT] NULL
)
GO

CREATE FUNCTION fnTest
    (
      @t [dbo].[TABLETYPE] READONLY
    )
RETURNS INT
AS
    BEGIN

        RETURN (SELECT TOP 1 ID FROM @t ORDER BY id DESC)

    END
GO

DECLARE @t [dbo].[TABLETYPE]
INSERT  INTO @t
VALUES  ( 1 ),
        ( 2 )

SELECT  dbo.fnTest(@t) AS ID

Výstup:

ID
2


  1. Rekurzivní spouštěč MySql nefunguje

  2. Vygenerovat jedinečné uživatelské jméno ze jména a příjmení?

  3. Zablokování SQL s operacemi výběru/aktualizace na tabulce

  4. Minimalizace dopadu rozšíření sloupce IDENTITY – část 4