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)