PRINT (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Devuelve al cliente un mensaje definido por el usuario. Por ejemplo, en SQL Server Management Studio, PRINT
se genera en la pestaña Mensajes de la ventana de resultados de la consulta.
Convenciones de sintaxis de Transact-SQL
Sintaxis
PRINT msg_str | @local_variable | string_expr
Argumentos
msg_str
Cadena de caracteres o constante de cadena Unicode. Para obtener más información, vea Constants (Constantes).
@local_variable
Variable de cualquier tipo de datos de caracteres válido. @local_variable debe ser char, nchar, varchar o nvarchar, o bien puede convertirse implícitamente en esos tipos de datos.
string_expr
Expresión que devuelve una cadena. Puede incluir valores literales concatenados, funciones y variables. Para más información, consulte Expresiones.
Comentarios
Una cadena de mensaje puede tener hasta 8000 caracteres si es una cadena no Unicode y 4000 caracteres si es una cadena Unicode. Las cadenas de mayor longitud se truncarán. Los tipos de datos varchar(max) y nvarchar(max) se truncan en tipos de datos que no sean mayores que varchar(8000) y nvarchar(4000).
RAISERROR también se puede usar para devolver mensajes. RAISERROR
tiene estas ventajas sobre PRINT
:
RAISERROR
admite la sustitución de argumentos en una cadena de mensaje de error mediante un mecanismo modelado en la función printf de la biblioteca estándar del lenguaje C.RAISERROR
puede especificar un número de error único, una gravedad y un código de estado además del mensaje de texto.RAISERROR
se puede usar para devolver mensajes definidos por el usuario creados mediante el procedimiento almacenado del sistema de sp_addmessage (Transact-SQL ).
Ejemplos
A. Ejecutar condicionalmente una impresión (IF EXISTS)
En el siguiente ejemplo se utiliza la instrucción PRINT
para devolver un mensaje de manera condicional.
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. Compilación y visualización de una cadena
En el ejemplo siguiente se convierten los resultados de la función GETDATE en un tipo de datos nvarchar y se concatena con texto literal, que devuelve PRINT
.
PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO
En el ejemplo siguiente se muestra cómo compilar el texto del mensaje en una variable.
DECLARE @PrintMessage NVARCHAR(50);
SET @PrintMessage = N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
PRINT @PrintMessage;
GO
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
C. Ejecución condicional de la impresión
En el siguiente ejemplo se utiliza la instrucción PRINT
para devolver un mensaje de manera condicional.
IF DB_ID() = 1
PRINT N'The current database is ''master''.';
ELSE
PRINT N'The current database is not ''master''.';
GO