PRINT (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure endpoint di analisi SQL di Azure Synapse Analytics Platform System (PDW) in Microsoft Fabric Warehouse nel database SQL di Microsoft Fabric in Microsoft Fabric
Restituisce al client un messaggio definito dall'utente. In SQL Server Management Studio, ad esempio, PRINT
restituisce la scheda Messaggi della finestra dei risultati della query.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
PRINT msg_str | @local_variable | string_expr
Argomenti
msg_str
Stringa di caratteri o costante stringa Unicode. Per altre informazioni, vedere Costanti.
@local_variable
Variabile di qualsiasi tipo di dati carattere valido. @local_variable deve essere char, nchar, varchar o nvarchar oppure deve essere in grado di essere convertito in modo implicito in tali tipi di dati.
string_expr
Espressione che restituisce una stringa. Può includere variabili, funzioni e valori letterali concatenati. Per altre informazioni, vedere Espressioni.
Osservazioni:
Una stringa di messaggio può contenere fino a 8.000 caratteri se si tratta di una stringa non Unicode e di 4.000 caratteri se si tratta di 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).
RAISERROR può essere usato anche per restituire messaggi. RAISERROR
presenta questi vantaggi rispetto a PRINT
:
RAISERROR
supporta la sostituzione degli argomenti in una stringa di messaggio di errore usando un meccanismo modellato sulla funzione printf della libreria standard del linguaggio C.RAISERROR
può specificare un numero di errore univoco, una gravità e un codice di stato oltre al messaggio di testo.RAISERROR
può essere usato per restituire messaggi definiti dall'utente creati usando la stored procedure di sistema sp_addmessage (Transact-SQL).
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. Compilare e visualizzare una stringa
L'esempio seguente converte i risultati della funzione GETDATE in un tipo di dati nvarchar e lo concatena con il testo letterale, restituito da PRINT
.
PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO
Nell'esempio seguente viene illustrato come compilare il testo del messaggio in una variabile.
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. Eseguire la stampa 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