Share via


PRINT (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse AnalyticsPiattaforma di strumenti analitici (PDW)Endpoint di analisi SQL in Microsoft FabricWarehouse 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

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

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).

RAI edizione Standard RROR può essere usato anche per restituire i 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.

  • RAISERRORpuò 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