Annonces DB2 en V4

BoTTom |    Changer de couleur
 
 Voici les principales nouveautés concernant la base de données DB2/400 V4r2
 
  Elles vont toutes vers plus de conformité au standard SQL.
 
 - Sécurité (droits) à la colonne :
 
  ......................................................................
  :  Grant  Select,                                                    :
  :         update(notel, adr1, adr2)                                  :
  :          on table personp1                                         :
  :          to pdupont;                                               :
  :....................................................................:
 
 ici on accorde le droit de lecture (toutes colonnes)
     et le droit de modifier les colonnes N° de tel et adresses
     à PDupont.
 
 les commandes DSPOBJAUT et EDTOBJAUT montrerons les autorisations
      de niveau zone, mais ne permetterons pas la modification.
 
 les droits seront vérifiés aussi bien en SQL qu'en RPG/COBOL


|    Changer de couleur
 
 soit l'ordre SQL suivant :
 
 GRANT UPDATE(ADR1, ADR2) ON FORMATION0/CLIENTP1 TO QUSER 
 
sql affiche
 
 GRANT de droits pour CLIENTP1 de FORMATION0 exécutée.
 
puis, sur un ordre:
 
  UPDATE FORMATION0/CLIENTP1 SET NOCLI = 0 
 
  on recoit SQL0901 "Erreur système SQL."
 
 alors qu'avec DFU, l'ouverture du fichier est déclarée impossible
  avec les messages suivants :
 
 CPF5134 : non autorisé à traiter la demande sur le membre CLIENTP1.
 DFU0861 : Vous n'êtes pas autorisé à effectuer l'opération demandée.
 
 


|    Changer de couleur
 
- Check Contraints ou contraintes de domaine :
 
    il s'agit d'établir un contrôle sur une zone (doit être > à , <> de ...)
     devant être TOUJOURS vérifié.
 
    les contrôles demandés aujourd'hui (CHEKC, RANGE, VALUES) ne sont
     vérifiés que dans un monde transactionnel (gestionnaire écran)
 
    les nouvelles contraintes seront vérifiés dans toutes les conditions
 
    en cas d'erreur ==> message CPF502F 
 
  ............................................................
  : ADDPFCST FILE(PERSONP1) TYPE(*CHKCST) CST(SALAIRE_CST)   :
  :          CHKCST(Salair > 6663,67 and prime < salair)     :
  :..........................................................:
 en SQL
  ............................................................
  : Alter table   entcdep1 add constraint  dates_commandes   :
  :          Check (datliv > datcmd)                         :
  :..........................................................:


|    Changer de couleur
 
 Bien sur cela fonctionne comme les contraintes de type *REFCST
 
      en cas d'ajout de la contrainte sur un fichier non vide
 
                     Complément d'informations sur message
 
 ID message . . . . . . :   CPD32D3       Gravité  . . . . . . . :   20
 Type de message  . . . :   Information
 
 Message . . . . :   Valeurs de zone incorrectes pour la contrainte de
   vérification.
 Cause . . . . . : La contrainte de vérification DATES_COMMANDES pour le
   fichier CDEENTP1 de la bibliothèque FORMATION0 est en instance de
   vérification.
     La contrainte est en instance de vérification car l'enregistrement 3 du
   fichier comporte une zone dont la valeur est incompatible avec l'expressi
   de la contrainte de vérification.
     S'il s'agit de l'enregistrement 0 du fichier, soit cet enregistrement n
   peut pas être identifié, soit il ne s'applique pas à l'état d'instance de
   vérification.
 


|    Changer de couleur
 
et les contraintes peuvent être gérées par WRKPFCST :
 
............................................................................
:                                                                          :
:                 Gestion des contraintes de fichier physique              :
:                                                                          :
:Indiquez vos options, puis appuyez sur ENTREE.                            :
:  2=Modifier   4=Enlever   6=Afficher enreg en instance de vérif          :
:                                                                          :
:                                                              Vérification:
:                                                                    en    :
:Opt  Contrainte     Fichier     Biblio      Type      Etat       instance :
:     DATES_COMM  >  CDEENTP1    FORMATION0  *CHKCST   ETB/DES      OUI    :
:                                                                          :
:..........................................................................:
 
 
  ici le fichier est "étabie/désactivée" puisqu'il y a des enregistrements
    ne correspondant pas à la demande [datliv > datcde]
 
 


|    Changer de couleur
 
l'Option 6 affiche le(les) enregistrement(s) en erreur :
 
..........................................................................
:                               Affichage du rapport                     :
:  Largeur . .:        71                                                :
:  Colonne . .:         1                                                :
:  Contrôle . . . .                                                      :
:  Ligne  ....+....1....+....2....+....3....+....4....+....5....+....6   :
:                N°       N°                                             :
:                CDE    CLIENT  DATE CDE    DATE LIV                     :
:           --------  --------  ----------  ----------                   :
:  000001         3         1   01.01.1940  01.01.1940                   :
:  ******  * * *  F I N  D E S  D O N N E E S  * * *                     :
:                                                                        :
:........................................................................:
 
 
 Après avoir modifié l'enregistrement il faut désactiver, puis réactiver
  la contrainte, qui devient alors "établie / active".
 
 


|    Changer de couleur
 
 - Procédures cataloguées écrites en SQL :
 
    Aujourd'hui les procédures cataloguées sont écrites en RPG/COBOL
     et enregistrées en SQL par CREATE PROCEDURE
  .........................................................................
  :  Create Procedure bib/p1                                              :
  :         (in nomatin DEC(6, 0),      ############################      :
  :          in newcoef DEC(3, 0),      #  ATTENTION               #      :
  :          out codert int)            #                          #      :
  :  language SQL                       # il faut le compilateur C #      :
  :  P1:                                ############################      :
  :  Begin                                                                :
  :       Declare coeflu DEC(3, 0);                                       :
  :       Declare Exit handler for SQLExecption Set codert=SQLCODE;       :
  :       Select coef from personp1 into coeflu where nomat = nomatin;    :
  :       if newcoef > coeflu then                                        :
  :          update personp1 set coef = newcoef                           :
  :                 where nomat = nomatin;                                :
  :       end if;                                                         :
  :  End                                                                  :
  :.......................................................................:


|    Changer de couleur
 
 - SQL atomique
 
    il s'agit d'une série d'ordres SQL devant être considérés comme un tout
    (uniquement dans les procédures cataloguées)
 
   .........................................................
   :  Begin Atomic                                         :
   :         Update fichier1                               :
   :                SET ...     where ...                  :
   :         Update fichier2                               :
   :                SET ...     where ...                  :
   :  End                                                  :
   :.......................................................:
 
 - Expressions conditionnelles
 
   un expression en SQL représente un traitement sur une plusieurs zones
   (concaténation/extraction, calcul, ...)
 
   il s'agit ici, de pouvoir donner des conditions à ces traitements :
 


|    Changer de couleur
...................................................................
:  Select cours, texte, case dispo                                :
:                            when 1 then 'lecture'                :
:                            when 2 then 'Impression'             :
:                            when 3 then 'Les deux'               :
:                       end AS Disponible                         :
:       from AF4MBRP1                                             :
:.................................................................:
 
...........................................................................
:  Select noart, qtecde, puart, case                                      :
:                                when codepays <> 'F' then puart          :
:                                when dep = 97        then puart *1,09    :
:                                else                     puart *1,206    :
:                               end as TTC                                :
:       from cdecli                                                       :
:.........................................................................:
 
- CAST = fonction de changement de type
 
         CAST(expression as type(lg))
 


|    Changer de couleur
 
 - valeur par défaut :
 
   a/ Default user = la valeur par défaut est le profil en cours
 
 .......................................................................
 :    Create table histo (quand DATE not null with default,            :
 :                        qui   CHAR(10) not null with default user)   :
 :.....................................................................:
 
   b/ mot-clé default dans les ordres INSERT et UPDATE
 
 .......................................................................
 :    Insert into HISTO (quand, qui)                                   :
 :                      values(current date, default)                  :
 :.....................................................................:
 
 - réseau
 
     DRDA et DDM sont admis sur TCP/IP
 
 


|    Changer de couleur
 
 - disponibilité
 
   SAVE WHILE ACTIVE ammélioré
 
        Support maintenant des commandes CLRPFM, RMVM, ... pendant une
         sauvegarde.
 
   remote journaling
 
        Il est possible de déclarer un récepteur de journal DISTANT
         mais uniquement par API. (commandes en V4R30)
 
 - performances
 
       Construction des indexs en parallèlle
 
         (intégré au produit sous licence DB2 Symmetric Multiprocessing)
 
       Utilisation de plusieurs indexs par fichier afin de mieux traiter
         les sélections complèxes basées sur des ET et des OU.
 





©AF400