Freigeben über


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

Informationen darüber, wie Anwendungen Meldungen verarbeiten, die von der PRINT-Anweisung zurückgegeben werden, finden Sie unter Behandeln von Fehlern und Meldungen in Anwendungen.

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