Share via


PRINT (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric

Retourne un message défini par l'utilisateur au client. Par exemple, dans SQL Server Management Studio, PRINT affiche l’onglet Messages de la fenêtre de résultats de la requête.

Conventions de la syntaxe Transact-SQL

Syntaxe

PRINT msg_str | @local_variable | string_expr

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

Arguments

msg_str

Chaîne de caractères ou constante de chaîne Unicode. Pour plus d’informations, consultez Constantes.

@local_variable

Variable de n’importe quel type de données de caractère valide. @local_variable doit être char, nchar, varchar ou nvarchar, ou il doit être converti implicitement en 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.

Notes

Une chaîne de message peut comporter jusqu’à 8 000 caractères s’il s’agit d’une chaîne non Unicode et de 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 varchar(max) et nvarchar(max) sont tronqués en types de données qui ne dépassent pas varchar(8000) et nvarchar(4000).

RAISERROR peut également être utilisé pour retourner des messages. RAISERROR présente ces avantages par rapport PRINTà :

  • RAISERROR prend en charge la substitution d’arguments en chaîne de message d’erreur à l’aide d’un mécanisme modélisé sur la fonction printf de la bibliothèque standard du langage C.

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

  • RAISERROR peut être utilisé pour retourner des messages définis par l’utilisateur créés à l’aide de la procédure stockée système sp_addmessage (Transact-SQL ).

Exemples

R. 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. Générer et afficher une chaîne

L’exemple suivant convertit les résultats de la fonction GETDATE en type de données nvarchar et le concatène avec du texte littéral, qui est retourné par PRINT.

PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO

L’exemple suivant montre la génération du texte du message dans une variable.

DECLARE @PrintMessage NVARCHAR(50);
SET @PrintMessage = N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
PRINT @PrintMessage;
GO

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

C. Exécuter l’impression de manière conditionnelle

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

IF DB_ID() = 1
    PRINT N'The current database is ''master''.';
ELSE
    PRINT N'The current database is not ''master''.';
GO