Verwenden von PRINT

Die PRINT-Anweisung wird zum Zurückgeben von Meldungen an Anwendungen verwendet. PRINT nimmt einen Zeichen- oder Unicode-Zeichenfolgeausdruck als Parameter an und gibt die Zeichenfolge als Meldung an die Anwendung zurück. Die Meldung wird als Informationsfehler an Anwendungen zurückgegeben, die den SQLClient-Namespace oder die ADO-Datenobjekte (ActiveX Data Objects, ADO) bzw. OLE DB- und ODBC-APIs (Open Database Connectivity) verwenden. SQLSTATE wird auf 01000 festgelegt, der systemeigene Fehler auf 0 und die Fehlermeldungs-Zeichenfolge auf die in der PRINT-Anweisung angegebene Zeichenfolge. In DB-Library-Anwendungen wird die Zeichenfolge an die Meldungshandler-Rückruffunktion zurückgegeben.

Die PRINT-Anweisung nimmt alle Zeichenfolgeausdrücke an, einschließlich Zeichen- oder Unicode-Konstanten, des Namens einer lokalen Zeichen- oder Unicode-Variablen oder einer Funktion, die eine Zeichenfolge oder eine Unicode-Zeichenfolge zurückgibt. PRINT nimmt außerdem komplexe Zeichenfolgen an, die durch das Verketten von zwei oder mehr Konstanten, lokalen Variablen oder Funktionen erstellt werden.

Verwenden Sie PRINT zur Unterstützung der Problembehandlung bei Transact-SQL-Code, zum Überprüfen der Werte von Daten oder zum Erstellen von Berichten.

Das folgende Beispiel verwendet PRINT in einer IF-Anweisung, um eine Meldung zurückzugeben, wenn der Wert des Hex Nut 17-Produkts unter 1100 fällt:

USE AdventureWorks2008R2;
GO
IF (SELECT SUM(i.Quantity)
    FROM Production.ProductInventory i
    JOIN Production.Product p 
    ON i.ProductID = p.ProductID
    WHERE Name = 'Hex Nut 17'
    ) < 1100
    PRINT N'There are less than 1100 units of Hex Nut 17 in stock.'
GO

Das folgende Beispiel gibt eine Kombination aus einer lokalen Variablen, Systemfunktionen und einer Textzeichenfolge mithilfe der Verkettung aus:

USE AdventureWorks2008R2;
GO
DECLARE @MyObject NVARCHAR(257);

SET @MyObject = N'Production.Product';

PRINT N'Object Name: ' + @MyObject
PRINT N'   Object ID: ' + STR(OBJECT_ID(@MyObject))
GO

Das folgende Beispiel zeigt zwei Verfahren zum Erstellen einer Ausgabemeldung durch Verketten von Zeichenfolgen:

-- Build a print message by concatenating strings in a PRINT
-- statement.
PRINT N'The Database Engine instance '
    + RTRIM(@@SERVERNAME)
    + N' is running SQL Server build '
    + RTRIM(CAST(SERVERPROPERTY(N'ProductVersion ') AS NVARCHAR(128)));
GO
-- This shows building a character variable that is used to
-- print a message.
DECLARE @Msg NVARCHAR(300);

SELECT @Msg = N'The Database Engine instance '
    + RTRIM(@@SERVERNAME)
    + N' is running SQL Server build '
    + RTRIM(CAST(SERVERPROPERTY(N'ProductVersion') AS NVARCHAR(128)));

PRINT @Msg;
GO