Partager via


Clause APPEND de la commande SHAPE

La clause de la commande de forme AJOUTER ajoute une ou plusieurs colonnes à un Recordset. Fréquemment, ces colonnes sont des colonnes de chapitre, qui font référence à un Recordset enfant.

Syntaxe

SHAPE [parent-command [[AS] parent-alias]] APPEND column-list  

Description

Les parties de cette clause sont les suivantes :

parent-command
Zéro ou l’un des éléments suivants (vous pouvez omettre complètement la commande parente ) :

  • Commande fournisseur placée entre accolades («{} ») qui retourne un objet Recordset . La commande est émise au fournisseur de données sous-jacent, et sa syntaxe dépend des exigences de ce fournisseur. Il s’agit généralement du langage SQL, même si ADO ne nécessite aucun langage de requête particulier.

  • Une autre commande de forme incorporée entre parenthèses.

  • Mot clé TABLE, suivi du nom d’une table dans le fournisseur de données.

parent-alias
Alias facultatif qui fait référence au Recordset parent.

column-list
Un ou plusieurs des éléments suivants :

  • Une colonne d'agrégats.

  • Une colonne calculée.

  • Nouvelle colonne créée à l’aide de la clause NOUVELLE.

  • Un colonne de chapitre. Une définition de colonne de chapitre est placée entre parenthèses (« () »). Voir la syntaxe suivante.

SHAPE [parent-command [[AS] parent-alias]]  
   APPEND (child-recordset [ [[AS] child-alias]   
      RELATE parent-column TO child-column | PARAMETER param-number, ... ])  
   [[AS] chapter-alias]   
   [, ... ]  

Notes

child-recordset

  • Commande fournisseur placée entre accolades («{} ») qui retourne un objet Recordset . La commande est émise au fournisseur de données sous-jacent, et sa syntaxe dépend des exigences de ce fournisseur. Il s’agit généralement du langage SQL, même si ADO ne nécessite aucun langage de requête particulier.

  • Une autre commande de forme incorporée entre parenthèses.

  • Nom d’un Recordset en forme existante.

  • Mot clé TABLE, suivi du nom d’une table dans le fournisseur de données.

child-alias
Un alias qui fait référence à l'enfant Recordset.

parent-column
Colonne de l’objet Recordset retourné par la commande parente.

child-column
Une colonne dans le Recordset renvoyé par la commande enfant .

param-number
Voir Fonctionnement des commandes paramétrées.

chapter-alias
Alias qui fait référence à la colonne ajoutée au parent.

Notes

La clause « parent-column TO child-column » est en fait une liste, où chaque relation définie est séparée par une virgule

Notes

La clause après le mot clé APPEND est en fait une liste, où chaque clause est séparée par une virgule et définit une autre colonne à ajouter au parent.

Lorsque vous construisez des commandes de fournisseur à partir d’une entrée utilisateur dans le cadre d’une commande SHAPE, SHAPE traite la commande fournisseur fournie par l’utilisateur comme une chaîne opaque et les transmet fidèlement au fournisseur. Par exemple, dans la commande SHAPE suivante,

SHAPE {select * from t1} APPEND ({select * from t2} RELATE k1 TO k2)  

SHAPE exécute deux commandes : select * from t1 et (select * from t2 RELATE k1 TO k2). Si l’utilisateur fournit une commande composée qui se compose de plusieurs commandes de fournisseur séparées par des points-virgules, SHAPE n’est pas en mesure de distinguer la différence. Par exemple, dans la commande SHAPE suivante,

SHAPE {select * from t1; drop table t1} APPEND ({select * from t2} RELATE k1 TO k2)  

SHAPE s’exécute select * from t1; drop table t1 et (select * from t2 RELATE k1 TO k2), ne se rendant drop table t1 pas compte qu’il s’agit d’une commande distincte et, dans ce cas, dangereux, fournisseur. Les applications doivent toujours valider l’entrée de l’utilisateur pour empêcher ces attaques potentielles contre les pirates.

Cette section contient les rubriques suivantes :

Voir aussi

Exemple de mise en forme des données
Grammaire formelle de la commande SHAPE
Généralités sur les commandes SHAPE