PRINT (Transact-SQL)

Gibt eine benutzerdefinierte Meldung an den Client zurück.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

PRINT msg_str | @local_variable | string_expr

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 char, nchar, varchar oder nvarchar sein oder 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 (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 Datentypen varchar(max) und nvarchar(max) werden zu Datentypen abgeschnitten, die nicht größer als varchar(8000) und nvarchar(4000) sind.

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 können benutzerdefinierte Meldungen zurückgegeben werden, die mithilfe der gespeicherten Systemprozedur sp_addmessage 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.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

Siehe auch

Verweis

Datentypen (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

RAISERROR (Transact-SQL)