Lancer plusieurs requêtes SQL dans un CL

Exemple de source pour le membre ESSAISQL du fichier QSQLSRC :

Pour commencer, créez un fichier source QSQLSRC (dans QGPL, par exemple). Puis créez
un membre de type TXT comme dans l’exemple ci-dessous.

0044.00 --*********************************************************
0045.00 -- * Suppression des enregistrements du fichier FRM001P   *
0046.00 --*********************************************************
0047.00 --
0048.00 DELETE FROM FRM001P;
0049.00 --*********************************************************
0050.00 -- * Mises à  jour de
fichiers                            
*
0051.00 --*********************************************************
0052.00 --
0053.00 INSERT INTO FRM001P
0054.00 SELECT W1DVAL FROM FRM800W GROUP BY W2DVAL;
0312.00 --
0363.00 UPDATE BIBREF/FICSTK
0364.00 SET GROUPE = ' '
0365.00 WHERE GROUPE = '02' ;
0366.00 --

Il ne reste plus qu’à  lancer le groupe de commandes SQL ci-dessus par un RUNSQLSTM en
indiquant le fichier source, ainsi que *NONE dans le contrôle de validation si le fichier
n’est pas journalisé.

Bon à  savoir :

  • le point virgule est obligatoire après chaque requête SQL.
  • si vous êtes plus à  l’aise avec Query qu’avec SQL, vous pouvez préparer vos requêtes
    avec Query Manager (cf. commande STRQM) dont l’interface utilisateur est proche du Query
    et qui génère du code SQL. Il ne reste plus alors qu’à  copier-coller le code généré
    par QM dans votre source et à  faire les retouches nécessaires.
Print Friendly, PDF & Email