PRINT (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL-Analyseendpunkt in Microsoft Fabric Warehouse in Microsoft Fabric SQL-Datenbank in Microsoft Fabric
Gibt eine benutzerdefinierte Meldung an den Client zurück. Beispielsweise wird in SQL Server Management Studio PRINT
auf der Registerkarte "Nachrichten" des Abfrageergebnisfensters ausgegeben.
Transact-SQL-Syntaxkonventionen
Syntax
PRINT msg_str | @local_variable | string_expr
Argumente
msg_str
Eine Zeichenfolge oder Unicode-Zeichenfolgenkonstante. Weitere Informationen finden Sie unter Konstanten.
@local_variable
Eine Variable eines beliebigen gültigen Zeichendatentyps. @local_variable muss char, nchar, varchar oder nvarchar sein, oder sie muss implizit in diese Datentypen konvertiert werden können.
string_expr
Ein Ausdruck, der eine Zeichenfolge zurückgibt. Er kann verkettete Literalwerte, Funktionen und Variablen enthalten. Weitere Informationen finden Sie unter Ausdrücke.
Hinweise
Eine Nachrichtenzeichenfolge kann bis zu 8.000 Zeichen lang sein, wenn es sich um eine Nicht-Unicode-Zeichenfolge handelt, und 4.000 Zeichen lang, 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 Nachrichten verwendet werden. RAISERROR
hat diese Vorteile gegenüber PRINT
:
RAISERROR
unterstützt das Substituieren von Argumenten in eine Fehlermeldungszeichenfolge mithilfe eines Mechanismus, der in der Printf-Funktion der C-Sprachstandardbibliothek modelliert ist.RAISERROR
kann zusätzlich zur Textnachricht eine eindeutige Fehlernummer, einen Schweregrad und einen Statuscode angeben.RAISERROR
kann verwendet werden, um benutzerdefinierte Nachrichten zurückzugeben, die mithilfe der gespeicherten sp_addmessage -Systemprozedur (Transact-SQL) erstellt wurden.
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. Erstellen und Anzeigen einer Zeichenfolge
Im folgenden Beispiel werden die Ergebnisse der GETDATE-Funktion in einen nvarchar-Datentyp konvertiert und mit Literaltext verkettet, der von PRINT
.
PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO
Das folgende Beispiel zeigt das Erstellen des Nachrichtentexts in einer Variablen.
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. Bedingter Druck
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