Condividi tramite


PRINT (Transact-SQL)

Restituisce al client un messaggio definito dall'utente.

Icona di collegamento a un argomentoConvenzioni 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).

Per informazioni su come le applicazioni elaborano i messaggi restituiti dall'istruzione PRINT, vedere Gestione degli errori e dei messaggi nelle applicazioni.

È 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. Creazione 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