Drucken-Transact-SQL

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse

Gibt eine benutzerdefinierte Meldung an den Client zurück.

Topic link icon Transact-SQL-Syntaxkonventionen

-- Syntax for SQL Server, Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse  

PRINT msg_str | @local_variable | string_expr  

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, oder es 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 Expressions (Transact-SQL).

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 varchar(max) und nvarchar(max) Datentypen werden abgeschnitten, um Datentypen, die nicht als größer vom Datentyp 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.

  • RAISERROR kann verwendet werden, zum Zurückgeben von benutzerdefinierten Meldungen, die mithilfe der gespeicherten Systemprozedur Sp_addmessage erstellt.

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  

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  

D. 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.  
DECLARE @PrintMessage nvarchar(50);  
SET @PrintMessage = N'This message was printed on '  
    + RTRIM(CAST(GETDATE() AS nvarchar(30)))  
    + N'.';  
PRINT @PrintMessage;  
GO  

Datentypen (Transact-SQL)
Deklarieren Sie @local_variable (Transact-SQL)
RAISERROR (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: