Usar PRINT

La instrucción PRINT se utiliza para devolver mensajes a aplicaciones. PRINT toma una expresión de una cadena Unicode o de caracteres como parámetro y devuelve la cadena como mensaje a la aplicación. El mensaje se devuelve como un error informativo a las aplicaciones que utilizan el espacio de nombres SQLClient u objetos de datos ActiveX (ADO), OLE DB y las interfaces de programación de aplicaciones (API) de Conectividad abierta de bases de datos (ODBC). SQLSTATE se establece en 01000, el error nativo se establece en 0 y la cadena del mensaje de error se establece en la cadena de caracteres especificada en la instrucción PRINT. La cadena se devuelve a la función de devolución de llamada del controlador del mensaje en las aplicaciones de DB-Library.

La instrucción PRINT acepta cualquier expresión de cadena de caracteres, incluidas las constantes de caracteres o Unicode, un nombre de variable local de caracteres o Unicode, o bien una función que devuelve un cadena de caracteres o Unicode. PRINT también acepta cadenas complejas creadas concatenando dos o más constantes, variables locales o funciones.

Utilice PRINT para ayudar a solucionar problemas de código Transact-SQL, compruebe los valores de los datos o cree informes.

En el siguiente ejemplo se utiliza PRINT dentro de una instrucción IF para devolver un mensaje cuando el número de producto de Hex Nut 17 cae por debajo de 1100.

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

En el siguiente ejemplo se imprime una combinación de una variable local, funciones del sistema y una cadena de texto mediante la concatenación.

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

En el siguiente ejemplo se muestran dos formas de crear un mensaje de impresión concatenando cadenas.

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