Come Chiamare una Funzione di SQL Server?

Come chiamare le funzioni di SQL Server dagli script Transact-SQL?

Tutorial su come chiamare una funzione di SQL Server utilizzando gli script T-SQL, con e senza parametri. La sintassi T-SQL per chiamare una funzione è diversa da quella per chiamare una stored procedure. Utilizza la funzione di SQL Server nello stesso modo in cui selezioni i dati da una tabella. Imparare a chiamare una funzione definita dall’utente di SQL Server con uno script T-SQL è essenziale per ottimizzare la manutenzione del tuo database e semplificare la manipolazione dei dati.

In questo tutorial SQL, esamineremo come utilizzare una funzione definita dall’utente e come personalizzare l’output della funzione per soddisfare esigenze specifiche. Una funzione definita dall’utente di SQL Server è un programma Transact-SQL che accetta parametri in ingresso. Quando viene chiamata, esegue azioni, come leggere una tabella di SQL Server, e restituisce un risultato in output.

1. Il parametro di input non è obbligatorio in una funzione di SQL Server

Una funzione non necessariamente ha un parametro di input. Tuttavia, una funzione definita dall’utente di SQL Server restituisce dati, che possono essere un insieme di risultati vuoto, una singola riga o più colonne. Per esempio, chiamiamo la funzione creata in questo tutorial per creare una funzione MS SQL con uno script. Ad esempio, se chiami la funzione integrata per visualizzare la data in SQL Server, il sistema restituisce la data corrente.

SELECT GETDATE();

2. Il risultato in output è obbligatorio nelle funzioni T-SQL

Infatti, una funzione è definita dal fatto che restituisce un risultato. Per chiamare una funzione, apri SSMS e adatta il codice della funzione se necessario. Considera questo script per creare una funzione chiamata dbo.ufnDisplayCustomers in T-SQL:

CREATE FUNCTION dbo.ufnDisplayCustomers(@CustomerID INTEGER)
RETURNS NVARCHAR(20)
AS 
BEGIN 
  DECLARE @CustomerName  AS NVARCHAR(20);
  SELECT  @CustomerName = [Name]
  FROM    [dbo].[Customers]
  WHERE   [CustomerID] = @CustomerID;
  RETURN  @CustomerName;
END
GO

Per chiamare una funzione di SQL Server, utilizza la seguente sintassi:

SELECT dbo.FunctionName(Parameters);

La funzione sottostante visualizza il nome di un cliente associato al numero del cliente passato come parametro. Naturalmente supponiamo che tu abbia una tabella con almeno queste due colonne, come nell’esempio.

  1. CustomerID
  2. Name
/* Expert-Only.com */ 
SELECT [CustomerID]
      ,[Name]
  FROM [Expert-Only].[dbo].[Customers];


/* Expert-Only.com */ 
SELECT dbo.ufnDisplayCustomers(1);
Esempio di query per chiamare una funzione di SQL Server da T-SQL
Esempio di query per chiamare una funzione di SQL Server da T-SQL

3. Chiamare una funzione di SQL Server e rinominare la colonna di output

Con questo secondo esempio di chiamata, possiamo anche rinominare la colonna di risultato per personalizzare l’output. A tal fine, utilizza la sintassi generica sottostante:

SELECT dbo.FunctionName(Parameters) AS [NewColumnName];

Di seguito un esempio pratico, utilizzando i dati dei clienti, quindi la funzione viene utilizzata per visualizzare il nome dei clienti in base all’ID cliente, quindi la colonna di risultato viene rinominata come CustomerName, allo stesso modo in cui le colonne vengono rinominate nelle query SELECT di SQL Server.

SELECT dbo.ufnDisplayCustomers(1) AS [CustomerName]; 

In quest’altro tutorial, spieghiamo come modificare una funzione di SQL Server esistente. Per informazioni più approfondite e ufficiali sulle funzioni definite dall’utente di SQL Server, leggi direttamente la documentazione MS sul sito web di Microsoft. La documentazione in inglese è generalmente più ricca e completa rispetto ad altre lingue, inclusa l’italiana. Anche il forum ufficiale Microsoft sui database e le pagine di supporto in inglese sono molto più attive rispetto ad altre lingue.

Riguardo la chiamata delle funzioni di SQL Server dagli script T-SQL

In conclusione, abbiamo visto come chiamare una funzione di SQL Server da uno script T-SQL, un’operazione necessaria per ottimizzare e soprattutto riutilizzare il codice in modo efficiente nel tuo database. Questo tutorial ti ha mostrato come creare, chiamare e personalizzare le funzioni di SQL Server. Padronizzando queste tecniche, sarai in grado di sfruttare al meglio il tuo database SQL Server e migliorare significativamente le prestazioni delle tue applicazioni.