PRINT (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)SQL analytics endpoint in Microsoft FabricWarehouse in Microsoft Fabric

Restituisce al client un messaggio definito dall'utente.

Convenzioni di sintassi Transact-SQL

Sintassi

PRINT msg_str | @local_variable | string_expr  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

msg_str
Costante di stringa Unicode o stringa di caratteri. Per altre informazioni, vedere Costanti (Transact-SQL).

@local_variable
Variabile costituita da un qualunque tipo di dati character valido. @local_variable deve essere di tipo char, nchar, varchar o nvarchar oppure deve supportare la conversione implicita in questi tipi di dati.

string_expr
Espressione che restituisce una stringa. Può includere variabili, funzioni e valori letterali concatenati. Per altre informazioni, vedere Espressioni (Transact-SQL).

Osservazioni:

Una stringa di messaggio può contenere al massimo 8.000 caratteri se è una stringa non Unicode e 4.000 caratteri se è una stringa Unicode. Le stringhe più lunghe vengono troncate. I tipi di dati varchar(max) e nvarchar(max) vengono troncati a tipi di dati di grandezza non superiore a varchar(8000) e nvarchar(4000).

È possibile utilizzare anche RAISERROR per restituire messaggi. RAISERROR offre questi vantaggi rispetto a PRINT:

  • RAISERROR supporta la sostituzione di argomenti in una stringa di messaggio di errore utilizzando un meccanismo basato sulla funzione printf della libreria standard del linguaggio C.

  • RAISERROR consente di specificare un numero di errore univoco, un livello di gravità e un codice di stato, oltre al messaggio di testo.

  • È possibile utilizzare RAISERROR per restituire messaggi definiti dall'utente creati tramite la stored procedure di sistema sp_addmessage.

Esempi

R. Stampa eseguita in modo condizionale (IF EXISTS)

Nell'esempio seguente viene utilizzata l'istruzione PRINT per restituire un messaggio in modo condizionale.

IF @@OPTIONS & 512 <> 0  
    PRINT N'This user has SET NOCOUNT turned ON.';  
ELSE  
    PRINT N'This user has SET NOCOUNT turned OFF.';  
GO  

B. Compilazione e visualizzazione di una stringa

Nell'esempio seguente i risultati della funzione GETDATE vengono convertiti nel tipo di dati nvarchar e concatenati con il testo letterale restituito dall'istruzione PRINT.

-- Build the message text by concatenating  
-- strings and expressions.  
PRINT N'This message was printed on '  
    + RTRIM(CAST(GETDATE() AS NVARCHAR(30)))  
    + N'.';  
GO  
-- This example shows building the message text  
-- in a variable and then passing it to PRINT.  
-- This was required in SQL Server 7.0 or earlier.  
DECLARE @PrintMessage NVARCHAR(50);  
SET @PrintMessage = N'This message was printed on '  
    + RTRIM(CAST(GETDATE() AS NVARCHAR(30)))  
    + N'.';  
PRINT @PrintMessage;  
GO  

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

C. Stampa eseguita in modo condizionale

Nell'esempio seguente viene utilizzata l'istruzione PRINT per restituire un messaggio in modo condizionale.

IF DB_ID() = 1  
    PRINT N'The current database is master.';  
ELSE  
    PRINT N'The current database is not master.';  
GO  

Vedi anche

Tipi di dati (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
RAI edizione Standard RROR (Transact-SQL)