Serveur d'impression

PRINT (Transact-SQL) -SQL Server – Bien choisir son serveur d impression

Par Titanfall , le 22 octobre 2019 - 5 minutes de lecture

<! – ->
le

Applicable à: ○serveur SQL ○Base de données SQL Azure ○Azure SQL Data Warehouse ○Entrepôt de données parallèleS'APPLIQUE À: Ouiserveur SQL OuiBase de données SQL Azure OuiAzure SQL Data Warehouse OuiEntrepôt de données parallèle

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

Sujet icone de lien Conventions de syntaxe Transact-SQLSujet icone de lien Conventions de syntaxe Transact-SQL

syntaxeSyntaxe

PRINT msg_str | @local_variable | string_expr  

argumentArguments

msg_strmsg_str
Une constante pour une chaîne ou une chaîne Unicode.Est une chaîne de caractères ou une constante de chaîne Unicode. Pour plus d'informations, consultez Constantes (Transact-SQL).Pour plus d'informations, consultez Constantes (Transact-SQL).

@ variable locale@ variable locale
Spécifiez toute variable de caractère valide.Est une variable de tout type de données de caractère valide. @ variable locale Estcarboniser,nchar,varcharOu Nvarchar Ou doit pouvoir être implicitement converti en ces types de données.@variable locale doit être carboniser, nchar, varchar, ou Nvarchar, ou il doit pouvoir être implicitement converti en ces types de données.

string_exprstring_expr
Spécifie une expression qui retourne une chaîne.Est une expression qui retourne une chaîne. Peut contenir des valeurs littérales, des fonctions et des variables concaténées.Peut inclure des valeurs littérales concaténées, des fonctions et des variables. Pour plus d'informations, consultez Expressions (Transact-SQL).Pour plus d'informations, consultez Expressions (Transact-SQL).

RemarquesRemarques

La chaîne de message peut être jusqu'à 8 000 octets pour les chaînes non-Unicode et jusqu'à 4 000 octets pour les chaînes Unicode.Une chaîne de message peut être jusqu'à 8000 caractères si elle est une chaîne non-Unicode et 4000 caractères si elle est une chaîne Unicode. Les chaînes plus longues sont tronquées.Les chaînes plus longues sont tronquées. Varchar (max) Quand nvarchar (max) Le type de données estvarchar (8000) et nvarchar (4000) Est tronqué à un type de données qui n'est plusle varchar (max) et nvarchar (max) les types de données sont tronqués en types de données qui ne sont pas plus grands que varchar (8000) et nvarchar (4000).

Vous pouvez également utiliser RAISERROR pour renvoyer un message.RAISERROR peut également être utilisé pour renvoyer des messages. RAISERROR présente les avantages suivants par rapport à PRINT:RAISERROR présente ces avantages par rapport à PRINT:

  • RAISERROR prend en charge la substitution d'arguments avec des chaînes de message d'erreur. Ce remplacement utilise un mécanisme inspiré de la fonction printf de la bibliothèque standard du langage C.RAISERROR prend en charge le remplacement des arguments dans une chaîne de message d'erreur à l'aide d'un mécanisme calqué sur la fonction printf de la bibliothèque standard du langage C.

  • RAISERROR vous permet de spécifier un numéro d'erreur unique, une gravité et un code d'état en plus des messages texte.RAISERROR peut spécifier un numéro d'erreur unique, une gravité et un code d'état en plus du message texte.

  • RAISERROR peut être utilisé pour renvoyer un message défini par l'utilisateur créé à l'aide de la procédure stockée système sp_addmessage.RAISERROR peut être utilisé pour renvoyer des messages définis par l'utilisateur créés à l'aide de la procédure stockée système sp_addmessage.

Exemple d'utilisationExemples

UNE.UNE. Exécuter conditionnellement PRINT (SI EXISTS)Exécution conditionnelle de print (IF EXISTS)

Dans l'exemple suivant:IMPRESSION Utilisez des instructions pour renvoyer des messages en fonction de conditions.L'exemple suivant utilise le IMPRESSION instruction pour retourner conditionnellement un message.

IF @@ OPTIONS & 512 <> 0
IMPRESSION Cet utilisateur a SET NOCOUNT activé. & # 39 ;;
AUTRE
IMPRESSION Cet utilisateur a SET NOCOUNT désactivé. & # 39 ;;
ALLER  

B.B. Construire et afficher une chaîneConstruire et afficher une chaîne

Dans l'exemple suivant,AVOIR UN RENDEZ-VOUS Le résultat de la fonction Nvarchar Converti en type de données et concaténé avec du texte littéral IMPRESSION Retours dans.L'exemple suivant convertit les résultats de la AVOIR UN RENDEZ-VOUS fonctionner à un Nvarchar type de données et le concatène avec un texte littéral à renvoyer par IMPRESSION.

-Construisez le texte du message en concaténant
-chaînes et expressions.
N ° IMPRESSION Ce message a été imprimé sur & # 39;
+ RTRIM (CAST (GETDATE () AS nvarchar (30)))
+ N & # 39;. & # 39 ;;
ALLER
-Cet exemple montre comment construire le texte du message
-dans une variable puis en la passant à PRINT.
-Cela était requis dans SQL Server 7.0 ou version antérieure.
DECLARE @PrintMessage nvarchar (50);
SET @PrintMessage = N & # 39; Ce message a été imprimé sur & # 39;
+ RTRIM (CAST (GETDATE () AS nvarchar (30)))
+ N & # 39;. & # 39 ;;
PRINT @PrintMessage;
ALLER  

Exemple: Azure SQL Data WarehouseEntrepôt Azure SQL Data et Entrepôt de données parallèleEntrepôt de données parallèleExemples: Azure SQL Data WarehouseAzure SQL Data Warehouse et Parallel Data WarehouseEntrepôt de données parallèle

C.C. Conditionnellement IMPRIMER exécuterExécution conditionnelle de print

Dans l'exemple suivant,IMPRESSION Utilisez des instructions pour renvoyer des messages en fonction de conditions.L'exemple suivant utilise le IMPRESSION instruction pour retourner conditionnellement un message.

IF DB_ID () = 1
La base de données actuelle est la base de données maître. & # 39 ;;
AUTRE
IMPRIMER N ° La base de données actuelle n'est pas maîtresse. & # 39 ;;
ALLER  

référenceVoir également

Type de données (Transact-SQL) Types de données (Transact-SQL)
DECLARE @ variable_local (Transact-SQL) DECLARE @ variable_local (Transact-SQL)
RAISERROR (Transact-SQL)RAISERROR (Transact-SQL)

<! – ->

le

Click to rate this post!
[Total: 0 Average: 0]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.