Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Utwórz funkcję T-SQL z parametrem tabeli

Począwszy od SQL Server 2008 możesz użyć parametrów o wartościach tabeli:

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

Wyjście:

ID
2


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można rozpocząć transakcji rozproszonej

  2. SQL Server Ucieczka podkreślenia

  3. Co to jest blokowanie serwera SQL?

  4. Pobieranie obrazów z SQL Server 2008 i wyświetlanie ich w kontrolerze obrazu asp.net

  5. Jak odczytać ostatni wiersz z SQL Server