Microsoft SQL Server Funzione valore di tabella inline nativa


Esempio

La funzione valore di tabella compilato nativo restituisce la tabella come risultato. Il codice nella funzione compilata in modo nativo verrà trasformato in codice C e compilato come dll. Nella versione 2016 sono supportate solo le funzioni con valori di tabella incorporati. Per creare una funzione di valore di tabella nativa è necessario:

  • Usa la sintassi CREATE FUNCTION standard
  • Imposta l'opzione NATIVE_COMPILATION nella definizione della funzione
  • Utilizzare l'opzione SCHEMABINDING nella definizione della funzione

Invece del blocco BEGIN END standard, è necessario utilizzare il blocco BEGIN ATOMIC:

BEGIN ATOMIC
   WITH (TRANSACTION ISOLATION LEVEL=SNAPSHOT, LANGUAGE='us_english')
   -- T-Sql code goes here
END

Esempio:

CREATE FUNCTION [dbo].[udft_NativeGetBusinessDoc]
(
   @RunDate VARCHAR(25)
)
RETURNS TABLE
WITH SCHEMABINDING,
     NATIVE_COMPILATION
AS
     RETURN
(
    SELECT BusinessDocNo,
           ProductCode,
           UnitID,               
           ReasonID,
           PriceID,
           RunDate,
           ReturnPercent,
           Qty,
           RewardAmount,
           ModifyDate,
           UserID
    FROM dbo.[BusinessDocDetail_11]
    WHERE RunDate >= @RunDate
);