PRINT (Transact-SQL)

Retourne un message défini par l'utilisateur au client.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

PRINT msg_str | @local_variable | string_expr

Arguments

  • msg_str
    Chaîne de caractères ou constante de chaîne Unicode. Pour plus d'informations, consultez Constantes (Transact-SQL).

  • **@**local_variable
    Variable de tout type de données caractères valide. **@**local_variable doit être de type char, nchar, varchar ou nvarchar, ou doit pouvoir être implicitement converti dans ces types de données.

  • string_expr
    Expression qui retourne une chaîne. Cet argument peut inclure des valeurs littérales concaténées, des fonctions et des variables. Pour plus d'informations, consultez Expressions (Transact-SQL).

Notes

Une chaîne de message peut contenir jusqu'à 8 000 caractères s'il s'agit d'une chaîne non-Unicode, et 4 000 caractères s'il s'agit d'une chaîne Unicode. Les chaînes plus longues sont tronquées. Les types de données nvarchar(max) et varchar(max) sont tronqués en types de données inférieurs à varchar(8000) et nvarchar(4000).

Pour plus d'informations sur la façon dont les applications traitent les messages retournés par l'instruction PRINT, consultez Gestion des erreurs et des messages dans les applications.

L'instruction RAISERROR peut également être utilisée pour retourner des messages. Elle présente trois avantages par rapport à l'instruction PRINT :

  • RAISERROR prend en charge la substitution des arguments dans un message d'erreur, grâce un mécanisme semblable à la fonction printf de la bibliothèque standard en langage C.

  • RAISERROR peut spécifier un numéro d'erreur unique, une gravité et un code d'état en plus du message textuel.

  • RAISERROR peut être utilisée pour retourner des messages définis par l'utilisateur, tels qu'ils sont créés par la procédure stockée système sp_addmessage.

Exemples

A. Impression sous condition (IF EXISTS)

L'exemple suivant utilise l'instruction PRINT pour retourner un message sous condition.

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. Construction et affichage d'une chaîne

L'exemple suivant convertit les résultats de la fonction GETDATE dans le type nvarchar et le concatène avec un texte littéral à retourner à l'aide de PRINT.

-- Build the message text by concatenating
-- strings and expressions.
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