A l'aide du plan de travail, vous pouvez modifier les ensembles d'instructions qui se trouvent dans un fichier pureQueryXML. Vous pouvez déplacer les instructions dans différents ensembles d'instructions, créer, supprimer et renommer des ensembles d'instructions.
Un ensemble d'instructions dans un fichier QueryXML constitue la base d'un ou quatre packages(s) DB2, selon que vous vouliez un package pour un niveau d'isolement ou un package pour chacun des quatre niveaux d'isolement.
Le nombre d'ensembles d'instructions se trouvant dans un fichier pureQueryXML lorsque vous modifiez pour la première fois le fichier dépend de la valeur que vous spécifiez dans Default.genProps pour l'option sqlLimit du fichier avant de l'ouvrir. Par exemple, supposons que vous capturez des instructions SQL dans un fichier pureQueryXML nommé
capture.pdqxml.
Avant de l'ouvrir dans l'éditeur, modifiez le fichier Default.genProps
à l'aide de cette entrée :
capture.pdqxml = -rootPkgName myPackage -sqlLimit 100
Supposons que vous avez capturé 300 instructions SQL dans capture.pdqxml. Lorsque vous ouvrez le fichier à des fins d'édition, vous constatez qu'il est divisé en trois ensembles d'instructions.
- myPackageA, qui contient 100 instructions
- myPackageB, qui contient 110 instructions
- myPackageC, qui contient 90 instructions
La valeur de l'option -sqlLimit détermine le nombre maximum d'instructions qu'un ensemble d'instructions peut contenir.
(Même si vous définissez the sur 100, l'utilitaire Configure regroupe dans myPackageB toutes les instructions faisant référence à un curseur particulier. Par conséquent, le nombre d'instructions de cet ensemble dépasse 100.)
Le nom de chaque ensemble est le nom du package suivi de la lettre suivante disponible dans l'alphabet (en commençant par la lettre A).
Si l'utilitaire Configure s'adapte à toutes les instructions SQL capturées dans un seul ensemble d'instructions, il n'ajoute pas de suffixe au nom de cet ensemble.
Remarque : Pour les bases de données DB2,
pureQuery Runtime capture les valeurs de registre spécial pour chaque instruction
capturée. Lors du transfert d'une instruction SQL, vérifiez que les valeurs de registre spécial de l'ensemble
d'instructions correspondent.
- Déplacement d'instructions SQL SELECT, UPDATE, INSERT et DELETE d'une instruction vers une autre
- Si un fichier pureQueryXML contient plusieurs instructions définies, vous pouvez déplacer des instructions SQL d'un ensemble vers un autre. Pour déplacer plusieurs instructions simultanément, maintenez la touche CTRL enfoncée, cliquez sur chaque instruction, puis déplacez-les comme un groupe dans l'instruction cible.
Pour déplacer une instruction appartenant à un groupe d'instructions utilisant un curseur nommé, sélectionnez l'instruction, puis déplacez-la dans l'ensemble d'instructions cible. L'éditeur déplace automatiquement les autres instructions dans le groupe.
Si le nombre d'instructions d'un ensemble dépasse la valeur -sqlLimit dans l'entrée Default.genProps du fichier pureQueryXML lorsque vous enregistrez le fichier pureQueryXML, une des deux actions suivantes est effectuée :
- Si le nom d'un ensemble d'instructions est vide, l'éditeur place les instructions dans d'autres ensembles d'instructions non nommés et les reconfigure en de nouveaux ensembles d'instructions nommés. Le nom du nouvel ensemble se base sur le nom du package racine en cours du fichier pureQueryXML. L'utilitaire Configure ajoute la lettre disponible suivante au nom du package racine.
- Si l'ensemble d'instructions possède un nom, le nombre d'instructions SQL de cet ensemble ne change pas. La valeur -sqlLimit n'a aucun effet.
Remarque : Vous pouvez également utiliser les options de l'utilitaire Configure -groupSQLByStrings et -groupSQLBySpecialRegisters pour vérifier la façon dont l'éditeur
configure les instructions SQL dans les ensembles d'instructions.
Conseil : Vous ne pouvez pas déplacer les instructions DDL. Toutefois, si le fichier contient deux ensembles d'instructions (ou plus) contenant des instructions DDL et que vous voulez regrouper des instructions DDL dans un ensemble d'instructions unique, supprimez les noms des ensembles d'instructions contenant les instructions DDL. Ensuite, enregistrez le fichier.
- Création d'ensembles d'instructions
- Cliquez avec le bouton droit n'importe où dans l'éditeur, puis sélectionnez Create New Statement Set (Créer un ensemble d'instructions). L'éditeur crée un ensemble d'instructions sans nom. Vous pouvez déplacer les instructions SQL d'autres ensembles d'instructions dans ce nouvel ensemble d'instructions.
- Vous pouvez nommer l'ensemble d'instructions de trois manières :
- Pour baser le nom de l'ensemble d'instructions sur le nom du package racine en cours, enregistrez le fichier après y avoir déplacé une ou plusieurs instruction(s). L'utilitaire Configure donne à l'ensemble d'instruction un nom basé sur deux facteurs :
- La valeur de l'option -rootPkgName du fichier Default.genProps correspondant
- La/les lettre(s) suivante(s) de l'alphabet
Par exemple, si vous créez un ensemble dans un fichier possédant déjà un ensemble nommé myPackageA et un autre myPackageB, le nom du nouvel ensemble est myPackageC. Si les deux ensembles déjà présents dans le package sont nommés myPackageAA et myPackageAB, le nom du nouveau package est myPackageAC.
- Pour baser le nom de l'ensemble d'instructions sur un nouveau nom de package racine,
procédez comme suit :
- Ouvrez le fichier Default.genProps à des fins d'édition.
- Changez la valeur de -rootPkgName pour le fichier pureQueryXML.
- Enregistrez le fichier Default.genProps. Lorsque l'éditeur vous demande si vous souhaitez construire le projet, cliquez sur Non.
- Enregistrez le fichier pureQueryXML.
L'utilitaire Configure donne à l'instruction un nom dérivé du nouveau nom de package racine. Si vous créez d'autres ensembles d'instructions dans le fichier pureQueryXML, leurs noms se composent du nom du package racine et de la lettre suivante de l'alphabet, à moins que vous ne changiez le nom du package racine ou que vous ne leur donniez des noms basés sur des noms de package racine.
- Pour donner à l'ensemble d'instructions un nom qui n'est pas basé sur le nom du package racine, procédez comme suit :
- Cliquez sur le noeud de l'ensemble d'instructions et saisissez le nouveau nom.
Le nom doit être unique dans le fichier et ne doit pas contenir de caractères invalides pour la base de données que vous utilisez. Le nom doit également prévoir de la place pour l'utilitaire StaticBinder afin d'y ajouter un chiffre indiquant le niveau d'isolement du package ou des packages que l'utilitaire crée à partir de l'ensemble d'instructions.
- Enregistrez le fichier pureQueryXML.
- Suppression d'ensembles d'instructions
- Vous pouvez supprimer les ensembles d'instructions dont vous n'avez plus besoin ou vides.
- Cliquez avec le bouton droit dans un package, puis sélectionnez Delete Statement Set (Supprimer l'ensemble d'instructions).
L'ensemble d'instructions SQL est supprimé du fichier pureQueryXML.
- Enregistrez le fichier pureQueryXML.
- Aucun nom des autres ensembles d'instructions du fichier n'est modifié.
Par exemple, supposons qu'un fichier contient les ensembles myPackageA à myPackageE.
Vous supprimez myPackageC. Les noms myPackageD et myPackageE ne deviennent pas myPackageC et myPackageD.
- Modification des noms des ensembles d'instructions
- Le nom d'un ensemble d'instructions est le nom de la base des packages DB2 provenant de cet ensemble. Par exemple,un ensemble nommé myPackageA peut contenir quatre packages DB2 : myPackageA1, myPackageA2,
myPackageA3 et myPackageA4. Chaque numéro indique le niveau d'isolement du package.
Vous pouvez modifier les noms des ensembles d'instructions de deux manières.
Restriction : Vous ne pouvez pas modifier les noms des ensembles d'instructions contenant uniquement des instructions DDL.
- Pour baser les nouveaux noms sur un nouveau nom de package racine, procédez comme suit :
- Dans l'entrée du fichier pureQueryXML du fichier Default.genProps, définissez la valeur de l'option -rootPkgName sur le nom du package racine sur lequel vous souhaitez baser les nouveaux noms.
- Enregistrez le fichier Default.genProps. Lorsque l'éditeur vous demande si vous souhaitez construire le projet, cliquez sur No.
- Dans le fichier pureQueryXML, cliquez avec le bouton droit sur chaque ensemble d'instructions dont vous souhaitez modifier le nom, puis sélectionnez Clear Statement Set Name (Effacer le nom de l'ensemble d'instructions).
- Enregistrez le fichier pureQueryXML.
Si le nombre d'instructions SQL de tous les ensembles d'instructions non nommés excède la valeur -sqlLimit de l'entrée de ce fichier dans le fichier
Default.genProps file, l'utilitaire crée plus d'un ensemble d'instructions pour ces instructions. Par exemple, si les ensembles non nommés contiennent 150 instructions SQL et que la valeur sqlLimit est définie sur 125, l'utilitaire Configure crée deux ensembles d'instructions et les nomme. Ces ensembles d'instructions remplacent les ensembles d'instructions non nommés d'origine.
- Pour saisir le nouveau nom d'un ensemble d'instructions (ou plus), procédez comme suit :
- Dans le fichier pureQueryXML, cliquez avec le bouton droit sur un ensemble d'instructions, puis sélectionnez Clear Statement Set Name (Effacer le nom de l'ensemble d'instructions).
- Cliquez sur le noeud de l'ensemble d'instructions et saisissez le nouveau nom.
Le nom doit être unique dans le fichier et ne doit pas contenir de caractères invalides pour la base de données que vous utilisez. Le nom doit également prévoir de la place pour l'utilitaire StaticBinder afin d'y ajouter un chiffre indiquant le niveau d'isolement du package ou des packages que l'utilitaire crée à partir de l'ensemble d'instructions.
- Enregistrez le fichier pureQueryXML.