PRINT (Transact-SQL)

Restituisce al client un messaggio definito dall'utente.

Sintassi

PRINT msg_str | @local_variable | string_expr

Argomenti

  • @local_variable
    Variabile di un qualunque tipo di dati carattere valido. @local_variable deve essere di tipo char o varchar oppure di un tipo che è possibile convertire implicitamente in questi tipi di dati.
  • string_expr
    Espressione che restituisce una stringa. Può includere variabili, funzioni e valori letterali concatenati. La stringa di messaggio può contenere al massimo 8.000 caratteri. I caratteri in eccesso vengono eliminati. Per ulteriori informazioni, vedere Espressioni (Transact-SQL).

Osservazioni

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 i 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 è in grado 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)

In questo esempio 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

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

-- Build the message text by concatenating
-- strings and expressions using functionality
-- available in SQL Server 2000 and SQL Server 2005.
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

Vedere anche

Riferimento

Tipi di dati (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
RAISERROR (Transact-SQL)

Altre risorse

Utilizzo di PRINT
Utilizzo di RAISERROR

Guida in linea e informazioni

Assistenza su SQL Server 2005