PRINT (Transact-SQL)

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

Icône Lien de rubrique Conventions 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).

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

Voir aussi

Référence

Types de données (Transact-SQL)

DECLARE @local\_variable (Transact-SQL)

RAISERROR (Transact-SQL)