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
Warehouse en Microsoft Fabric
Base de datos SQL de 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
PRINT msg_str | @local_variable | string_expr
Cadena de caracteres o constante de cadena Unicode. Para obtener más información, vea Constants (Constantes).
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.
Expresión que devuelve una cadena. Puede incluir valores literales concatenados, funciones y variables. Para más información, consulte Expresiones.
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 ).
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
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
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