PRINT (Transact-SQL)
Restituisce al client un messaggio definito dall'utente.
Convenzioni della sintassi Transact-SQL
Sintassi
PRINT msg_str | @local_variable | string_expr
Argomenti
msg_str
Costante di stringa Unicode o stringa di caratteri. Per ulteriori 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 di un tipo che possa essere convertito in modo implicito in questi tipi di dati.string_expr
Espressione che restituisce una stringa. Può includere variabili, funzioni e valori letterali concatenati. Per ulteriori 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 in tipi di dati di dimensioni non maggiori di 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
A.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