PRINT (Transact-SQL)

Devuelve al cliente un mensaje definido por el usuario.

Sintaxis

PRINT msg_str | @local_variable | string_expr

Argumentos

msg_str

Es una cadena de caracteres o una constante de cadena Unicode. Para obtener más información, vea Constantes (Transact-SQL).

@local_variable

Es una variable de cualquier tipo de datos de caracteres válido. @local_variable debe ser de tipo char o varchar, o se debe poder convertir implícitamente a estos tipos de datos.

string_expr

Es una expresión que devuelve una cadena. Puede incluir valores literales concatenados, funciones y variables. La cadena del mensaje puede tener hasta 8.000 caracteres. Los posteriores al carácter 8.000 se truncan. Para obtener más información, vea Expresiones (Transact-SQL).

Notas

Para obtener información sobre cómo las aplicaciones procesan los mensajes devueltos por la instrucción PRINT, vea Controlar errores y mensajes en las aplicaciones.

RAISERROR también se puede utilizar para devolver mensajes. RAISERROR ofrece una serie de ventajas en comparación con PRINT:

  • RAISERROR admite argumentos de sustitución en una cadena de mensaje de error con un mecanismo modelado en la función printf de la biblioteca estándar de lenguaje C.
  • RAISERROR puede especificar un número de error único, un nivel de gravedad y un código de estado para el mensaje de texto.
  • RAISERROR se puede utilizar para devolver mensajes definidos por el usuario y creados con el procedimiento almacenado del sistema sp_addmessage.

Ejemplos

A. Impresión ejecutada condicionalmente (IF EXISTS)

En este ejemplo se utiliza la instrucción PRINT para devolver un mensaje condicionalmente.

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. Crear y mostrar una cadena

En este ejemplo se convierte el resultado de la función GETDATE en un tipo de datos varchar y se concatena el texto literal que devuelve PRINT.

-- Build the message text by concatenating
-- strings and expressions using functionality
-- available in SQL Server 2000 and SQL Server 2005.
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

Vea también

Referencia

Tipos de datos (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
RAISERROR (Transact-SQL)

Otros recursos

Usar PRINT
Usar RAISERROR

Ayuda e información

Obtener ayuda sobre SQL Server 2005