Aller au contenu

RUNSQLSTM

Lancer des instructions SQL

En bref

La commande RUNSQLSTM (Exécuter une instruction SQL) traite un fichier source d'instructions en langage SQL.

RUNSQLSTM se lit RUN (Exécuter) + SQLSTM. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

RUNSQLSTM

Paramètres

Astuce : dans une session 5250, tapez RUNSQLSTM puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Non

La commande RUNSQLSTM (Exécuter une instruction SQL) traite un fichier source d'instructions en langage SQL.

La commande RUNSQLSTM exécute les instructions SQL dans le groupe d'activation par défaut. Si la commande RUNSQLSTM est incluse dans un programme CL compilé ou une procédure CL ILE, le groupe d'activation de ce programme ou de cette procédure est ignoré.

Paramètres

Mot-clé Description Valeurs possibles Remarques
SRCFILE Fichier source Nom d'objet qualifié Facultatif, positionnel 1
Qualificatif 1: Fichier source Nom
Qualificatif 2: Bibliothèque Nom, *LIBL, *CURLIB
SRCMBR Membre source Nom Facultatif, positionnel 2
SRCSTMF Fichier STREAM source Chemin d'accès Facultatif
COMMIT Contrôle de validation *CHG, *UR, *CS, *ALL, *RS, *NONE, *NC, *RR Facultatif, positionnel 3
NAMING Appellation *SYS, *SQL Facultatif, positionnel 4
ERRLVL Niveau de gravité 0-40, 10 Facultatif
DATFMT Format de date *JOB, *USA, *ISO, *EUR, *JIS, *MDY, *DMY, *YMD, *JUL Facultatif
DATSEP Séparateur de date *JOB, '/', '.', ',', '-', ' ', *BLANK Facultatif
TIMFMT Format d'heure *HMS, *USA, *ISO, *EUR, *JIS Facultatif
TIMSEP Séparateur d'heure *JOB, ':', '.', ',', ' ', *BLANK Facultatif
MARGINS Marges du source Liste d'éléments Facultatif
Élément 1: Marge de droite 1-32754, 80, *SRCFILE
DFTRDBCOL Collection par défaut Nom, *NONE Facultatif
SAAFLAG Marquage SQL IBM *NOFLAG, *FLAG Facultatif
FLAGSTD Marquage ANS *NONE, *ANS Facultatif
DECMPT Symbole décimal *JOB, *SYSVAL, *PERIOD, *COMMA Facultatif
SRTSEQ Séquence de tri Valeurs uniques: *JOB, *LANGIDUNQ, *LANGIDSHR, *HEX
Autres valeurs: Nom d'objet qualifié
Facultatif
Qualificatif 1: Séquence de tri Nom
Qualificatif 2: Bibliothèque Nom, *LIBL, *CURLIB
LANGID Identificateur de langue Valeur caractère, *JOB Facultatif
OPTION Options pour liste source *LIST, *NOSRC, *ERRLIST, *NOLIST Facultatif
PRTFILE Fichier imprimante Nom d'objet qualifié Facultatif
Qualificatif 1: Fichier imprimante Nom, QSYSPRT
Qualificatif 2: Bibliothèque Nom, *LIBL, *CURLIB
PROCESS Traitement des instructions *RUN, *SYN Facultatif
SECLVLTXT Texte deuxième niveau *NO, *YES Facultatif
ALWCPYDTA Copie des données admise *OPTIMIZE, *YES, *NO Facultatif
ALWBLK Groupage admis *ALLREAD, *NONE, *READ Facultatif
SQLCURRULE Règles SQL *DB2, *STD Facultatif
DECRESULT Options de résultat décimal Liste d'éléments Facultatif
Élément 1: Précision maximale 31, 63
Élément 2: Echelle maximale 0-63, 31
Élément 3: Echelle de division minimale 0-9, 0
CONACC Résolution accès simultanés *DFT, *CURCMT, *WAIT Facultatif
SYSTIME Dépendant de l'heure système *YES, *NO Facultatif
OUTPUT Sortie liste *NONE, *ERROR, *NOLIST, *MSG, *PRINT Facultatif
TGTRLS Edition cible Nom simple, *CURRENT Facultatif
DBGVIEW Vue de débogage *NONE, *SOURCE, *STMT, *LIST Facultatif
CLOSQLCSR Fermer le curseur SQL *ENDMOD, *ENDACTGRP Facultatif
DLYPRP Différer PREPARE *NO, *YES Facultatif
USRPRF Profil utilisateur *NAMING, *USER, *OWNER Facultatif
DYNUSRPRF Profil utilisateur dynamique *USER, *OWNER Facultatif

Fichier source (SRCFILE)

Indique le fichier source contenant les instructions SQL à exécuter.

Qualificatif 1 : Lancer des instructions SQL

nom
Indiquez le nom du fichier source contenant les instructions SQL à exécuter. Il peut s'agir d'un fichier base de données ou d'un fichier spoule en entrée.

Qualificatif 2 : Bibliothèque

*LIBL
La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
La recherche porte sur la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est utilisée par défaut.
nom
Indiquez le nom de la bibliothèque sur laquelle doit porter la recherche.

Membre source (SRCMBR)

Indique le membre du fichier source contenant les instructions SQL à exécuter.

nom
Indiquez le nom du membre du fichier source contenant les instructions SQL à exécuter.

Fichier STREAM source (SRCSTMF)

Indique le nom du chemin d'accès au fichier contenant les instructions SQL. Ce nom peut être absolu ou relatif.

Contrôle de validation (COMMIT)

Indique si les instructions SQL sont exécutées sous contrôle de validation.

*CHG ou *UR
Indique que les objets désignés dans les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE, ainsi que toutes les lignes mises à jour, supprimées ou insérées sont verrouillés jusqu'à la fin de l'unité d'oeuvre (transaction). Les modifications invalidées dans les autres travaux peuvent être visualisées.
*CS
Indique que les objets désignés dans les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE, ainsi que toutes les lignes mises à jour, supprimées ou insérées sont verrouillés jusqu'à la fin de l'unité d'oeuvre (transaction). Une ligne sélectionnée, mais non mise à jour est verrouillée tant que la ligne suivante n'est pas sélectionnée. Les modifications invalidées dans les autres travaux ne peuvent pas être visualisées.
*ALL ou *RS
Indique que les objets désignés dans les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE, ainsi que toutes les lignes sélectionnées, mises à jour, supprimées ou insérées sont verrouillés jusqu'à la fin de l'unité d'oeuvre (transaction). Les modifications invalidées dans les autres travaux ne peuvent pas être visualisées.
*NONE ou *NC
Indique que le contrôle de validation n'est pas utilisé. Les modifications invalidées dans les autres travaux peuvent être visualisées. Si l'instruction SQL DROP SCHEMA est incluse dans le programme, vous devez utiliser *NONE ou *NC.
*RR
Indique que les objets désignés dans les instructions SQL ALTER, CALL, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME et REVOKE, ainsi que toutes les lignes sélectionnées, mises à jour, supprimées ou insérées sont verrouillés jusqu'à la fin de l'unité d'oeuvre (transaction). Les modifications invalidées dans les autres travaux ne peuvent pas être visualisées. Toutes les tables désignées dans les instructions SELECT, UPDATE, DELETE et INSERT sont verrouillées jusqu'à la fin de l'unité d'oeuvre (transaction).

Convention d'appellation (NAMING)

Indique la convention d'appellation utilisée pour les objets des instructions SQL.

*SYS
La convention d'appellation du système (nom-bibliothèque/nom-fichier) est utilisée.
*SQL
La convention d'appellation SQL (nom-schéma.nom-table) est utilisée.

Niveau de gravité (ERRLVL)

Indique si le traitement a abouti en fonction de la gravité des messages générés suite au traitement des instructions SQL. Si le niveau de gravité des erreurs qui se produisent lors du traitement est plus élevé que la valeur spécifiée pour ce paramètre, les instructions ne sont plus exécutées et sont invalidées si elles font l'objet d'un contrôle de validation. Les instructions restantes de la source font l'objet d'une vérification de syntaxe.

10
Le traitement des instructions est interrompu lorsque des messages d'erreur dont le niveau de gravité est supérieur à 10 sont reçus.
0-40
Indiquez le niveau de gravité à utiliser.

Format de date (DATFMT)

Indique le format utilisé lors de l'accès aux colonnes réservées aux résultats de type date. Pour les chaînes en entrée, la valeur spécifiée permet de déterminer si le format de date est admis.

Remarque :Une chaîne en entrée utilisant le format de date *USA, *ISO, *EUR ou *JIS est toujours admise.

*JOB
Le format spécifié pour le travail est utilisé. Utilisez la commande DSPJOB (Afficher le travail) pour déterminer le format de date en cours du travail.
*USA
Le format de date américain mm/jj/aaaa est utilisé.
*ISO
Le format de date ISO est utilisé aaaa-mm-jj
*EUR
Le format de date européen jj.mm.aaaa est utilisée.
*JIS
Le format de date JIS - norme japonaise d'encodage des jeux de caractères (aaaa-mm-jj) est utilisé.
*MDY
Le format de date mm/jj/aa est utilisé.
*DMY
Le format de date jj/mm/aa est utilisé.
*YMD
Le format de date aa/mm/jj est utilisé.
*JUL
Le format de date julien aa/jjj est utilisé.

Séparateur de date (DATSEP)

Indique le séparateur utilisé lors de l'accès aux colonnes réservées aux résultats de type date.

Remarque :Ce paramètre ne s'applique que si *JOB, *MDY, *DMY, *YMD, ou *JUL est indiqué pour le paramètre Format de date (DATFMT).

*JOB
Le séparateur de date indiqué pour le travail lors de la précompilation (lorsqu'une nouvelle session SQL interactive est créée ou que RUNSQLSTM est exécuté) est utilisé.

Utilisez la commande DSPJOB (Afficher le travail) pour déterminer la valeur du séparateur de date en cours du travail.

'/'
Une barre oblique est utilisée comme séparateur de date.
'.'
Un point est utilisé comme séparateur de date.
'-'
Un tiret est utilisé comme séparateur de date.
','
Une virgule est utilisée comme séparateur de date.
' ' ou *BLANK
Un blanc est utilisé comme séparateur de date.

Format d'heure (TIMFMT)

Indique le format utilisé lors de l'accès aux colonnes réservées aux résultats de type heure. Pour les chaînes en entrée, la valeur spécifiée permet de déterminer si le format d'heure est admis.

Remarque :Une chaîne en entrée utilisant le format *USA, *ISO, *EUR ou *JIS est toujours admise.

*HMS
Le format hh:mm:ss est utilisé.
*USA
Le format d'heure américain hh:mmxx est utilisé, où xx correspond à AM ou PM.
*ISO
Le format d'heure ISO - Organisation internationale de normalisation - hh.mm.ss est utilisé.
*EUR
Le format d'heure européen hh.mm.ss est utilisé.
*JIS
Le format d'heure JIS - norme japonaise d'encodage des jeux de caractères - hh:mm:ss est utilisé.

Séparateur d'heure (TIMSEP)

Indique le séparateur utilisé lors de l'accès aux colonnes réservées aux résultats de type heure.

Remarque :Ce paramètre ne s'applique que si *HMS est indiqué pour le paramètre Format d'heure (TIMFMT).

*JOB
Le séparateur d'heure indiqué pour le travail lors de la précompilation (lorsqu'une nouvelle session SQL interactive est créée ou que RUNSQLSTM est exécuté) est utilisé.

Utilisez la commande DSPJOB (Afficher le travail) pour déterminer la valeur du séparateur d'heure en cours du travail.

':'
Les deux points sont utilisés comme séparateur d'heure.
'.'
Un point est utilisé comme séparateur d'heure.
','
Une virgule est utilisée comme séparateur d'heure.
' ' ou *BLANK
Un blanc est utilisé comme séparateur d'heure.

Marges du source (MARGINS)

Indique la partie de l'enregistrement d'entrée source contenant le texte source. La marge de gauche se situe toujours en position 1 de l'enregistrement d'entrée. La marge de droite prend par défaut la valeur 80.

Si le paramètre Fichier STREAM source (SRCSTMF) est indiqué, les marges sont ignorées.

1-32754
Indiquez la position de fin à utiliser pour chaque enregistrement d'entrée.

Collection par défaut (DFTRDBCOL)

Indique le nom de l'identificateur de schéma utilisé pour les nom non qualifiés de tables, de vues, d'index, de modules SQL, d'alias, de contraintes, de programmes externes, de groupes de noeuds et de déclencheurs. Ce paramètre ne s'applique qu'aux instructions SQL statiques.

*NONE
La convention d'appellation utilisée est celle indiquée pour le paramètre Convention d'appellation (NAMING).
nom
Indiquez le nom de l'identificateur de schéma à utiliser à la place de la convention d'appellation indiquée pour le paramètre NAMING.

Marquage SQL IBM (SAAFLAG)

Indique la fonction d'identification SQL d'IBM. Ce paramètre vous permet d'identifier des instructions SQL pour vérifier leur conformité à la syntaxe IBM SQL.

*NOFLAG
Aucune vérification de conformité des instructions SQL à la syntaxe SQL d'IBM n'est effectuée.
*FLAG
La conformité des instructions SQL à la syntaxe SQL d'IBM est vérifiée.

Marquage ANS (FLAGSTD)

Indique si les instructions non standard sont signalées. Ce paramètre vous permet d'identifier des instructions SQL pour vérifier leur conformité aux normes ISO/IEC 9075-2003 Core level.

*NONE
Aucune vérification de conformité des instructions SQL aux normes ANSI n'est effectuée.
*ANS
La conformité des instructions SQL aux normes est vérifiée.

Symbole décimal (DECMPT)

Indique la valeur du symbole décimal utilisé pour les constantes numériques des instructions SQL. Cette valeur est également utilisée comme marque décimale en cas de transtypage entre les valeurs de type numérique et celles de type alphanumérique.

*JOB
La représentation du symbole décimal correspond à la valeur utilisée par le travail qui exécute l'instruction.
*SYSVAL
La valeur système QDECFMT est utilisée comme symbole décimal.
*PERIOD
Un point représente le symbole décimal.
*COMMA
Une virgule représente le symbole décimal.

Séquence de tri (SRTSEQ)

Indique la table de séquence de tri à utiliser pour comparer les chaînes des instructions SQL.

Valeurs particulières

*JOB
La valeur SRTSEQ du travail est utilisée.
*LANGIDUNQ
La table de tri à poids unique correspondant à la langue indiquée au paramètre Identificateur de langue (LANGID) est utilisée.
*LANGIDSHR
La table de tri à poids partagé correspondant à la langue indiquée pour le paramètre LANGID est utilisée.
*HEX
Aucune table de séquence de tri n'est utilisée. Les valeurs hexadécimales des caractères sont utilisées pour déterminer la séquence de tri.

Qualificatif 1 : Séquence de tri

nom
Précisez le nom de la table de séquence de tri à utiliser avec ce programme.

Qualificatif 2 : Bibliothèque

*LIBL
La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
La recherche porte sur la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est utilisée par défaut.
nom
Indiquez le nom de la bibliothèque sur laquelle doit porter la recherche.

Identificateur de langue (LANGID)

Indique l'identificateur de langue à utiliser lorsque SRTSEQ(*LANGIDUNQ) ou SRTSEQ(*LANGIDSHR) est spécifié.

*JOB
La valeur LANGID du travail est extraite.
identificateur-langue
Indiquez un identificateur de langue.

Options pour liste source (OPTION)

Indique l'option relative à la liste générée par la commande.

*LIST
Une liste complète avec le contenu de la source et toutes les erreurs est générée.
*NOSRC
Une liste comportant uniquement les messages est générée.
*ERRLIST
Une liste complète est générée uniquement si un nombre d'erreurs supérieur à celui indiqué au paramètre ERRLVL est détecté lors du traitement.
*NOLIST
Aucune liste n'est générée. Si un nombre d'erreurs supérieur à celui indiqué au paramètre ERRLVL est détecté lors du traitement, les messages sont envoyés dans l'historique du travail.

Fichier imprimante (PRTFILE)

Indique le fichier imprimante vers lequel la sortie de la commande est dirigée. Le fichier doit être de 132 octets minimum. Si un enregistrement de fichier est inférieur à 132 octets, les informations sont perdues.

Qualificatif 1 : Fichier imprimante

QSYSPRT
Le fichier en sortie est placé dans le fichier imprimante QSYSPRT, fourni par IBM.
nom
Indiquez le nom du fichier imprimante vers lequel la sortie est dirigée.

Qualificatif 2 : Bibliothèque

*LIBL
La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
La recherche porte sur la bibliothèque en cours du travail. Si celle-ci n'est pas précisée, QGPL est utilisée par défaut.
nom
Indiquez le nom de la bibliothèque dans laquelle se trouve le fichier imprimante.

Traitement des instructions (PROCESS)

Indique si les instructions SQL du membre du fichier source sont exécutées ou si leur syntaxe est vérifiée.

*RUN
Les instructions sont exécutées et leur syntaxe est vérifiée.
*SYN
Seule la vérification de la syntaxe des instructions est effectuée.

Texte deuxième niveau (SECLVLTXT)

Indique que les descriptions textuelles des messages de deuxième niveau doivent être écrites dans la liste en sortie.

*NO
Le texte de second niveau ne figure pas dans la liste.
*YES
Le texte de second niveau avec des données de remplacement est ajouté à la liste de tous les messages.

Copie des données admise (ALWCPYDTA)

Indique si une copie des données peut être utilisée dans une instruction SELECT.

*OPTIMIZE
Le système détermine s'il doit utiliser les données directement extraites de la base de données ou une copie de ces données. Ce choix dépend des performances des différentes méthodes. Si le paramètre Contrôle de validation (COMMIT) n'a pas la valeur *NONE, le paramètre Groupage admis (ALWBLK) doit prendre la valeur *ALLREAD, si possible, pour obtenir de meilleures performances.
*YES
Une copie des données est utilisée le cas échéant.
*NO
Aucune copie des données n'est utilisée. Si une copie temporaire des données est requise pour le lancement d'une requête, un message d'erreur s'affiche.

Groupage admis (ALWBLK)

Indique si le gestionnaire de bases de données peut utiliser le groupage d'enregistrements et dans quelle mesure ce groupage peut être utilisé pour les curseurs en lecture seule.

*ALLREAD
Les lignes sont groupées pour les curseurs en lecture seule. Tous les curseurs d'un programme qui ne peuvent pas être explicitement modifiés sont ouverts pour le traitement en lecture seule même si des instructions EXECUTE ou EXECUTE IMMEDIATE peuvent figurer dans ce programme.

*ALLREAD :

  • Autorise le groupage d'enregistrements pour les curseurs en lecture seule.
  • Peut améliorer les performances de pratiquement tous les curseurs en lecture seule des programmes, mais restreint les requêtes comme suit :
    • Lorsque *ALLREAD est spécifié, la commande d'invalidation (ROLLBACK), une instruction ROLLBACK en langage hôte ou l'instruction SQL ROLLBACK HOLD ne permettent pas de repositionner un curseur en lecture seule.
    • Vous ne pouvez pas utiliser l'exécution dynamique d'une instruction UPDATE ou DELETE positionnée (via EXECUTE IMMEDIATE, par exemple) pour mettre à jour une ligne d'un curseur sauf si l'instruction DECLARE du curseur comprend la clause FOR UPDATE.
*NONE
Les lignes ne sont pas groupées en vue de l'extraction de données pour les curseurs.

*NONE :

  • Garantit que les données extraites sont à jour.
  • Peut réduire le temps nécessaire à l'extraction de la première ligne de données d'une requête.
  • Arrête le gestionnaire de bases de données lors de l'extraction d'un ensemble de lignes de données non utilisé par le programme lorsque les premières lignes d'une requête sont extraites avant la fermeture de cette dernière.
  • Peut réduire les performances globales d'une requête qui extrait de nombreuses lignes.
*READ
Les enregistrements sont groupés pour l'extraction de données en lecture seule destinées aux curseurs lorsque :
  • *NONE est indiqué pour le paramètre Contrôle de validation (COMMIT), ce qui signifie que le contrôle de validation n'est pas utilisé.
  • Le curseur dispose d'une clause FOR READ ONLY ou qu'aucune instruction dynamique ne peut exécuter une instruction UPDATE ou DELETE positionnée pour le curseur.

Règles SQL (SQLCURRULE)

Indique la sémantique utilisée pour les instructions SQL.

*DB2
Par défaut, la sémantique de l'ensemble des instructions SQL est conforme aux règles établies pour DB2. La sémantique suivante est gérée par cette option :

Les constantes hexadécimales sont traitées comme des données de type caractères.

*STD
Par défaut, la sémantique de l'ensemble des instructions SQL est conforme aux règles établies par les normes ISO et ANSI SQL. La sémantique suivante est gérée par cette option :

Les constantes hexadécimales sont traitées comme des données binaires.

Options de résultat décimal (DECRESULT)

Indique la précision maximale, l'échelle maximale et l'échelle de division minimale devant être utilisées lors d'opérations décimales comme le calcul arithmétique. Les limites spécifiées s'appliquent uniquement aux types de données NUMERIC et DECIMAL.

Elément 1 : Précision maximale

31
La précision maximale (longueur) devant être renvoyée par les opérations décimales est de 31 chiffres.
63
La précision maximale (longueur) devant être renvoyée par les opérations décimales est de 63 chiffres.

Elément 2 : Echelle maximale

31
L'échelle maximale (nombre de décimales à droite de la virgule) devant être renvoyée par les opérations décimales est de 31 chiffres.
0-63
Indiquez l'échelle maximale (nombre de décimales à droite de la virgule) devant être renvoyée par les opérations décimales. La valeur peut être comprise entre 0 et la précision maximale.

Elément 3 : Echelle de division minimale

0
L'échelle de division minimale n'est pas utilisée.
0-9
Indiquez l'échelle de division minimale (nombre de décimales à droite de la virgule) devant être renvoyée par les opérations décimales. La valeur ne peut pas dépasser l'échelle maximale. Si 0 est indiqué pour l'échelle maximale, l'échelle de division minimale n'est pas utilisée.

Résolution accès simultanés (CONACC)

Indique comment le gestionnaire de la base de données doit gérer les conflits de verrouillage d'enregistrements pour les données en cours de mise à jour.

*DFT
Indique que l'option d'accès simultané ne sera pas explicitement définie pour le programme. La valeur prise en compte sera la valeur applicable au moment de l'appel du programme. La valeur peut être via l'option SQL_CONCURRENT_ACCESS_RESOLUTION du fichier d'options de requête QAQQINI.
*CURCMT
Lorsque cela est possible, le gestionnaire de la base de données doit utiliser les données validées en cas de conflit de verrouillage d'enregistrements pour les requêtes en lecture seule. Ceci s'applique lorsque le niveau de validation est *CS.
*WAIT
En cas de conflit de verrouillage d'enregistrements, le gestionnaire de la base de données doit attendre le résultat.

Dépendant de l'heure système (SYSTIME)

Indique si les références aux tables temporelles de période système dans les instructions SQL statiques et dynamiques sont affectées par la valeur du registre spécial CURRENT TEMPORAL SYSTEM_TIME.

*YES
Les références aux tables temporelles de période système sont affectées par la valeur du registre spécial CURRENT TEMPORAL SYSTEM_TIME.
*NO
Les références aux tables temporelles de période système ne sont pas affectées par la valeur du registre spécial CURRENT TEMPORAL SYSTEM_TIME.

Sortie liste (OUTPUT)

Indique si la liste du précompilateur est générée.

Remarque :Ce paramètre ne s'applique qu'aux instructions CREATE et ALTER des procédures, fonctions ou déclencheurs SQL du fichier source. Cette valeur va être utilisée lors de la création du programme pour la routine SQL.

*NONE
La liste du précompilateur n'est pas générée.
*ERROR
Liste du précompilateur
*NOLIST
Liste du précompilateur
*MSG
Liste du précompilateur
*PRINT
La liste du précompilateur est générée.

Edition cible (TGTRLS)

Indique l'édition du système d'exploitation sur laquelle vous souhaitez utiliser l'objet créé.

Remarque :Ce paramètre ne s'applique qu'aux instructions CREATE et ALTER des procédures, fonctions ou déclencheurs SQL du fichier source. Cette valeur va être utilisée lors de la création du programme pour la routine SQL.

Lorsque vous indiquez la valeur édition-cible, le format VxRxMx est utilisé pour préciser l'édition. Vx indique la version, Rx l'édition et Mx le niveau de modification. Par exemple, V5R3M0 correspond à la version 5, édition 3, niveau de modification 0.

Les valeurs admises dépendent de la version, de l'édition et du niveau de modification du système d'exploitation, et changent à chaque nouvelle édition.

*CURRENT
L'objet sera utilisé sur l'édition en cours du système d'exploitation installée sur votre système. Cet objet pourra également être utilisé sur un système doté de cette édition (ou de toute édition suivante qui sera installée).
édition-cible
Indiquez l'édition au format VxRxMx. L'objet pourra être utilisé sur un système doté de celle-ci ou de toute édition suivante du système d'exploitation.

Vue de débogage (DBGVIEW)

Indique le type d'informations de débogage source que SQL doit fournir.

Remarque :Ce paramètre ne s'applique qu'aux instructions CREATE et ALTER des procédures, fonctions ou déclencheurs SQL du fichier source. Cette valeur va être utilisée lors de la création du programme pour la routine SQL.

*NONE
Aucune information relative à la vue de débogage n'est générée.
*SOURCE
Génère une vue source du source C généré par RUNSQLSTM pour les procédures, les fonctions ou les déclencheurs SQL dans le membre source SQL en entrée. Le membre source C est transmis au précompilateur SQL par l'appel de la commande CRTSQLCI. Une vue source est également générée par le précompilateur SQL pour le membre source C que le précompilateur a produit.
*STMT
Permet le débogage de l'objet compilé à l'aide des numéros et des identificateurs symboliques des instructions de programme.
*LIST
Génère la vue de liste de débogage de l'objet compilé.

Fermer le curseur SQL (CLOSQLCSR)

Indique le moment où les curseurs SQL sont implicitement fermés, où les instructions SQL préparées sont implicitement détruites et où LOCK TABLE est déverrouillé. Les curseurs SQL sont explicitement fermés lorsque l'utilisateur exécute les instructions SQL CLOSE, COMMIT ou ROLLBACK (sans HOLD). Cette option est ignorée pour les fonctions et déclencheurs de table SQL.

Remarque :Ce paramètre ne s'applique qu'aux instructions CREATE et ALTER des procédures et fonctions SQL du fichier source. Cette valeur va être utilisée lors de la création du programme pour la routine SQL.

*ENDMOD
Les curseurs SQL sont fermés et les instructions SQL préparées sont implicitement détruites lorsque vous quittez le module. LOCK TABLE est déverrouillé à la fin du premier programme SQL de la liste d'appel. Notez qu'un curseur peut uniquement être fermé logiquement. Il n'est fermé physiquement que lorsque le premier programme avec SQL quitte la pile et seulement si ce programme n'a pas été compilé avec *ENDACTGRP.
*ENDACTGRP
Les curseurs SQL sont fermés, les instructions SQL préparées sont implicitement détruites et LOCK TABLE est déverrouillé à la fin du groupe d'activation.

Différer PREPARE (DLYPRP)

Indique si la validation d'instruction dynamique d'une instruction PREPARE est différée tant qu'une instruction OPEN, EXECUTE ou DESCRIBE n'est pas exécutée. Ces reports améliorent les performances en empêchant la multiplication des validations.

Remarque :Ce paramètre ne s'applique qu'aux instructions CREATE et ALTER des procédures, fonctions ou déclencheurs SQL du fichier source. Cette valeur va être utilisée lors de la création du programme pour la routine SQL.

*NO
La validation des instructions dynamiques n'est pas différée. Lorsque l'instruction dynamique est préparée, le plan d'accès est validé. Lorsqu'elle est utilisée dans une instruction OPEN ou EXECUTE, le plan d'accès est validé à nouveau. Puisque les droits ou l'existence des objets signalés par l'instruction dynamique peu(ven)t changer, vous devez poursuivre la vérification de SQLCODE ou SQLSTATE après l'exécution de l'instruction OPEN ou EXECUTE afin de garantir que l'instruction dynamique reste correcte.
*YES
La validation de l'instruction dynamique est différée tant que cette dernière n'est pas utilisée dans une instruction SQL OPEN, EXECUTE ou DESCRIBE. Lorsque l'instruction dynamique est utilisée, la validation est effectuée et un plan d'accès est créé. Pour les programmes précompilés, si vous indiquez *YES pour ce paramètre, vous devez vérifier SQLCODE et SQLSTATE après l'exécution d'une instruction OPEN, EXECUTE ou DESCRIBE afin de garantir que l'instruction dynamique est correcte.

Remarque :Si vous indiquez *YES, vous n'obtenez pas de meilleures performances si la clause INTO est utilisée dans l'instruction PREPARE ou si une instruction DESCRIBE utilise l'instruction dynamique avant l'exécution de OPEN.

Profil utilisateur (USRPRF)

Indique le profil utilisateur utilisé lorsque l'objet du programme compilé et celui du module SQL sont exécutés, ainsi que les droits dont disposent l'objet du programme ou le module SQL pour chaque objet des instructions SQL statiques. Le profil du propriétaire ou de l'utilisateur permet de contrôler l'accès aux objets.

Remarque :Ce paramètre ne s'applique qu'aux instructions CREATE et ALTER des procédures, fonctions ou déclencheurs SQL du fichier source. Cette valeur va être utilisée lors de la création du programme pour la routine SQL.

*NAMING
Le profil utilisateur est déterminé par la convention d'appellation. Si cette dernière correspond à *SQL, USRPRF(*OWNER) est utilisé. Si elle correspond *SYS, USRPRF(*USER) est utilisé.
*USER
Le profil de l'utilisateur exécutant le programme ou le module SQL est utilisé.
*OWNER
Les profils utilisateur du propriétaire et de l'utilisateur sont utilisés lorsque le programme ou le module SQL est exécuté.

Profil utilisateur dynamique (DYNUSRPRF)

Indique le profil utilisateur utilisé pour les instructions SQL dynamiques.

Remarque :Ce paramètre ne s'applique qu'aux instructions CREATE et ALTER des procédures, fonctions ou déclencheurs SQL du fichier source. Cette valeur va être utilisée lors de la création du programme pour la routine SQL.

*USER
Les instructions SQL dynamiques locales sont exécutées sous le profil de l'utilisateur du programme. Quant aux instructions SQL dynamiques réparties, elles sont exécutées sous le profil du travail du serveur d'applications.
*OWNER
Les instructions SQL dynamiques locales sont exécutées sous le profil du propriétaire du programme. Quant aux instructions SQL dynamiques réparties, elles sont exécutées sous le profil du propriétaire du module SQL.

Exemples

RUNSQLSTM   SRCFILE(MYLIB/MYFILE)  SRCMBR(MYMBR)

Cette commande permet de traiter les instructions SQL dans le membre MYMBR situé dans le fichier MYFILE de la bibliothèque MYLIB.

Messages d'erreur

Messages *ESCAPE

SQL9006
DB2 Query Mgr and SQL DevKit ne sont pas au même niveau que le système d'exploitation.
SQL9010
Echec de la commande RUNSQLSTM ou RUNSQL.
SQL9014
Connexion éloignée active

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.