RUNSQL
Exécuter SQL
En bref
La commande RUNSQL exécute l'instruction SQL indiquée au paramètre SQL (SQL).
RUNSQL se lit RUN
(Exécuter) + SQL.
Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.
Syntaxe minimale
RUNSQL SQL(…)
Paramètres
-
SQLSQL obligatoire -
COMMITContrôle de validation -
NAMINGAppellation -
DATFMTFormat de date -
DATSEPSéparateur de date -
TIMFMTFormat d'heure -
TIMSEPSéparateur d'heure -
DFTRDBCOLCollection par défaut -
DECMPTSymbole décimal -
SRTSEQSéquence de tri -
LANGIDIdentificateur de langue -
OPTIONOptions pour liste source -
PRTFILEFichier imprimante -
SECLVLTXTTexte deuxième niveau -
ALWCPYDTACopie des données admise -
ALWBLKGroupage admis -
SQLCURRULERègles SQL -
DECRESULTOptions de résultat décimal -
CONACCRésolution accès simultanés -
SYSTIMEDépendant de l'heure système
Astuce : dans une session 5250, tapez RUNSQL 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 RUNSQL exécute l'instruction SQL indiquée au paramètre SQL (SQL).
L'instruction SQL fait l'objet d'une analyse syntaxique lorsque la commande est exécutée. Les erreurs de syntaxe ne sont pas identifiées tant que la commande n'est pas exécutée.
La commande RUNSQL exécute les instructions SQL dans le groupe d'activation de l'appelant. Si la commande RUNSQL est exécutée dans un programme CL compilé ou une procédure CL ILE, le groupe d'activation de ce programme ou de cette procédure est utilisé
Restrictions :
- Dans d'autres interfaces SQL, une instruction SQL est limitée à une longueur de 2 mégaoctets. La limite sur cette commande est de 5 000 octets, ce qui représente le maximum pour le paramètre *CHAR d'une commande CL.
- Contrairement à la commande RUNSQLSTM, la commande RUNSQL ne produit pas de fichier spoule. Lorsqu'une erreur se produit au cours de l'exécution de la commande, le message d'erreur SQL correspondant est envoyé à l'appelant sous forme de message d'arrêt programme. Pour une instruction SQL complexe qui renvoie une erreur de syntaxe, le moyen le plus simple pour rechercher la cause de l'erreur de syntaxe consiste à démarrer un moniteur de base de données, à exécuter la commande RUNSQL, puis à analyser le moniteur de base de données à l'aide de System i Navigator. Cela s'applique tout particulièrement lorsque l'instruction SQL est construite sous forme d'expression dans un programme ou une procédure CL.
- Contrairement à la commande RUNSQLSTM qui valide ou invalide implicitement les instructions lorsqu'elle prend fin et que le contrôle de validation est utilisé, la commande RUNSQL, par défaut, n'exécute ni validation ni invalidation. Ces opérations sont à la charge de l'application de l'utilisateur. Ce fonctionnement est semblable à celui des instructions SQL imbriquées dans d'autres langages de programmation tels que RPG ou COBOL.
- La commande RUNSQL ne peut pas être utilisée pour ouvrir un fichier base de données et le laisser ouvert. Tout fichier ouvert à l'aide de la commande RUNSQL est fermé avant la reprise du contrôle.
Paramètres
| Mot-clé | Description | Valeurs possibles | Remarques |
|---|---|---|---|
| SQL | SQL | Valeur caractère | Obligatoire, positionnel 1 |
| COMMIT | Contrôle de validation | *CHG, *UR, *CS, *ALL, *RS, *NONE, *NC, *RR | Facultatif, positionnel 2 |
| NAMING | Appellation | *SYS, *SQL | Facultatif, positionnel 3 |
| 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 |
| DFTRDBCOL | Collection par défaut | Nom, *NONE | 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 | *NOLIST, *LIST | Facultatif |
| PRTFILE | Fichier imprimante | Nom d'objet qualifié | Facultatif |
| Qualificatif 1: Fichier imprimante | Nom, QSYSPRT | ||
| Qualificatif 2: Bibliothèque | Nom, *LIBL, *CURLIB | ||
| 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 |
SQL (SQL)
Indique une instruction SQL à exécuter.
Ce paramètre est obligatoire.
- valeur-alphanumérique
- Indiquez l'Instruction SQL à exécuter. La longueur maximale de l'instruction est de 5 000 octets.
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.
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.
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.
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 si une liste est générée par la commande.
- *NOLIST
- Aucune liste n'est générée. Tous les messages sont envoyés dans l'historique du travail.
- *LIST
- Une liste est générée.
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.
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.
Exemples
Exemple 1 : Insertion d'une ligne dans une table
RUNSQL SQL('insert into testlib/t1 values (1)')
Cette commande permet d'insérer une ligne dans le fichier T1 dans la bibliothèque TESTLIB.
Exemple 2 : Exécution d'une requête et stockage des résultats dans une table temporaire
RUNSQL SQL('CREATE TABLE qtemp.t1 AS
(SELECT * FROM qsys2.systables
WHERE table_schema = ''TESTLIB'') WITH DATA')
COMMIT(*NONE) NAMING(*SQL)
Cette commande permet d'exécuter une requête et de stocker les résultats dans une table temporaire. La table est le fichier T1 dans la bibliothèque QTEMP. Si la commande est exécutée dans un programme ou une procédure CL, vous pouvez utiliser la commande RCVF pour lire les résultats de la requête.
Exemple 3 : Utilisation d'une expression pour l'instruction SQL
RUNSQL1: PGM PARM(&LIB)
DCL &LIB TYPE(*CHAR) LEN(10)
DCL &SQLSTMT TYPE(*CHAR) LEN(1000)
CHGVAR VAR(&SQLSTMT) +
VALUE('DECLARE GLOBAL TEMPORARY TABLE result +
AS (SELECT * FROM qsys2.systables WHERE +
table_schema = ''' !! &LIB !! ''') with +
data WITH REPLACE NOT LOGGED')
RUNSQL SQL(&SQLSTMT) COMMIT(*NONE) NAMING(*SQL)
ENDSQL1: ENDPGM
Cet exemple illustre l'utilisation de la commande RUNSQL dans un programme ou une procédure CL. Le paramètre SQL est construit en tant qu'expression de type caractère CL qui concatène le texte littéral avec la valeur de la variable de type caractère &LIB.
Messages d'erreur
Messages *ESCAPE
- SQLxxxx
- Toute erreur SQL composée de quatre chiffres, par exemple, SQL0204.
- SQ2xxxx
- Toute erreur SQL comprise entre 20000 et 29999, par exemple, SQ20180.
- SQ3xxxx
- Toute erreur SQL comprise entre 30000 et 39999, par exemple, SQ30106.
© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.