> Tech > Quelques détails concernant l’iSeries

Quelques détails concernant l’iSeries

Tech - Par iTPro - Publié le 24 juin 2010
email

Au stade de la V5R1, l'OS/400 accepte deux types de déclencheurs : les déclencheurs SQL écrits en SQL et les déclencheurs externes écrits en d'autres langages que SQL, comme RPG, Cobol, CL et autres. Les événements de base de données intéressant les déclencheurs externes sont liés à  l'insertion, à  la

Quelques détails concernant l’iSeries

mise à  jour ou à  la suppression
d’un enregistrement. Outre les événements
supportés pour les déclencheurs
externes, les déclencheurs SQL
peuvent préciser qu’un déclencheur
de mise à  jour ne doit s’activer que si
certaines colonnes sont modifiées. Les
déclencheurs SQL ont aussi d’autres
fonctions que n’ont pas les déclencheurs
externes, comme la possibilité
d’activer un déclencheur une fois par
instruction SQL plutôt qu’une fois par
ligne modifiée, indépendamment du
nombre de lignes modifiées par l’instruction
. On définit les déclencheurs à 
l’aide de l’instruction Create Trigger
SQL ou, pour les déclencheurs externes
seulement, la commande CrtPF
Trg (Create Physical File Trigger) CL.
DB2 UDB pour iSeries reconnaît
deux types de procédures stockées :
les procédures stockées SQL, écrites
en SQL, et les procédures stockées externes,
écrites en un autre langage que
SQL. Pour rendre un objet programme
iSeries accessible comme une procédure
stockée externe, il faut l’enregistrer
en utilisant l’instruction Create
Procedure SQL. Pour les procédures
stockées SQL, le code SQL est inclus
dans l’instruction Create Procedure. Le
fait de créer une procédure stockée
produit des entrées dans deux catalogues
système : Qsysroutines et
Qsysparms.
L’iSeries supporte deux catégories
d’UDF, distinguées par le type de résultat
qu’elles renvoient : une UDF
table renvoie un jeu de résultats (table
temporaire), tandis qu’une UDF scalaire
renvoie une valeur unique. Outre
la distinction entre les UDF table et
scalaires, n’importe quel type d’UDF
peut être classifié comme une UDF
SQL, une UDF externe, ou une UDF
sourcée. Comme pour les déclencheurs
et les procédures stockées, la
différence entre les UDF SQL et les
UDF externes se fonde sur le langage
qui a servi à  écrire l’UDF.
Les UDF sourcées sont basées sur des fonctions SQL intégrées et ne contiennent pas de code
personnalisé. Elles sont le plus souvent utilisées avec des
types définis par l’utilisateur (UDT, user-defined types). Par
exemple, si l’on définit un type USCurrency basé sur le type
Decimal SQL, on pourrait aussi vouloir créer une UDF
SumUSCurrency basée sur la fonction SQL Sum intégrée.
La définition d’une UDF est similaire à  celle des procédures
stockées. On définit les trois types d’UDF en utilisant
l’instruction Create Function SQL : pour les UDF externes,
l’instruction Create Function spécifie un programme externe;
pour les UDF sourcées, elle spécifie la fonction intégrée
sur laquelle la nouvelle UDF est basée ; et pour les UDF
SQL, le code SQL est inclus dans l’instruction Create
Function. Quand on crée une fonction, les entrées sont ajoutées
aux catalogues système et Qsysroutines et Qsysparms.
Le moyen le plus simple de créer des déclencheurs, des
procédures stockées et des UDF est de recourir aux « wizards
» appropriés dans iSeries Navigator. Ces wizards sont
une suite de panneaux en colonnes plutôt que les wizards
séquentiels habituels qui vous sont probablement familiers.
Nous savons maintenant comment mettre en oeuvre les
déclencheurs, les procédures stockées et les UDF sur
l’iSeries. Intéressons-nous à  présent aux facteurs qui déterminent
laquelle de ces trois options convient le mieux à  une
application donnée.

Téléchargez gratuitement cette ressource

Protection des Données : 10 Best Practices

Protection des Données : 10 Best Practices

Le TOP 10 des meilleures pratiques, processus et solutions de sécurité pour mettre en œuvre une protection efficace des données et limiter au maximum les répercutions d’une violation de données.

Tech - Par iTPro - Publié le 24 juin 2010