PRINT (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Gibt eine benutzerdefinierte Meldung an den Client zurück.

Transact-SQL-Syntaxkonventionen

Syntax

PRINT msg_str | @local_variable | string_expr  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Argumente

msg_str
Eine Zeichen- oder Unicode-Zeichenfolgenkonstante. Weitere Informationen finden Sie unter Konstanten (Transact-SQL).

@local_variable
Dies ist eine Variable eines beliebigen gültigen Zeichendatentyps. @local_variable muss auf char, nchar, varchar oder nvarchar festgelegt oder implizit in diese Datentypen konvertierbar sein.

string_expr
Ein Ausdruck, der eine Zeichenfolge zurückgibt. Er kann verkettete Literalwerte, Funktionen und Variablen enthalten. Weitere Informationen finden Sie unter Ausdrücke (Transact-SQL).

Hinweise

Eine Meldungszeichenfolge kann bis zu 8.000 Zeichen lang sein, wenn es sich um eine Nicht-Unicode-Zeichenfolge handelt, und 4.000 Zeichen, wenn es sich um eine Unicode-Zeichenfolge handelt. Längere Zeichenfolgen werden abgeschnitten. Die Datentypenvarchar(max) und nvarchar(max) werden abgeschnitten und ergeben Datentypen, die nicht größer sind als varchar(8000) und nvarchar(4000).

RAISERROR kann auch zum Zurückgeben von Meldungen verwendet werden. RAISERROR hat im Vergleich zu PRINT die folgenden Vorteile:

  • RAISERROR unterstützt das Ersetzen von Argumenten in eine Fehlermeldungs-Zeichenfolge. Dabei wird ein Mechanismus verwendet, der auf der printf-Funktion der Standardbibliothek der C-Programmiersprache modelliert wurde.

  • RAISERROR kann neben der Textmeldung eine eindeutige Fehlernummer, einen Schweregrad und einen Statuscode angeben.

  • Mit RAISERROR lassen sich mithilfe der gespeicherten Systemprozedur sp_addmessage benutzerdefinierte Meldungen zurückgeben.

Beispiele

A. Bedingt ausgeführte PRINT-Anweisung (IF EXISTS)

Das folgende Beispiel verwendet die PRINT-Anweisung zur bedingten Rückgabe einer Meldung.

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. Erstellung und Anzeigen einer Zeichenfolge

Das folgende Beispiel konvertiert die Ergebnisse der GETDATE-Funktion in einen nvarchar-Datentyp und verkettet sie mit Literaltext. Das Ergebnis der Verkettung wird von PRINT zurückgegeben.

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

Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

C. Bedingt ausgeführte PRINT-Anweisung

Das folgende Beispiel verwendet die PRINT-Anweisung zur bedingten Rückgabe einer Meldung.

IF DB_ID() = 1  
    PRINT N'The current database is master.';  
ELSE  
    PRINT N'The current database is not master.';  
GO  

Weitere Informationen

Datentypen (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
RAISERROR (Transact-SQL)