
Traitement des erreurs
Les erreurs survenant pendant l'exécution d'un trigger SQL sont renvoyées en utilisant SQLSTATE 09000 et SQLCODE - 723. Un trigger SQL peut aussi utiliser l'instruction SIGNAL pour générer ses propres types d'erreurs. Dans de tels cas, un SQLCODE -438 et le SQLSTATE spécifié dans l'instruction SIGNAL seront renvoyés. On accède
Lire l'article
Logique du trigger
Le corps du trigger est constitué d'une ou plusieurs instructions SQL. En général, ce peut être n'importe laquelle d'entre elles. Une restriction a été indiquée précédemment : un trigger avant ne peut pas exécuter des instructions de modifications de données comme Update ou Create. Cette restriction exceptée, la plupart des
Lire l'article
Modifier et corriger des données
ALWREPCHG (Allow Repeated Change) est une autre option de trigger externe dont on peut se demander si les triggers SQL la supportent. Les triggers SQL sont toujours créés avec la valeurALWR EPCHG(*YES). Les triggers externes utilisent cette option principalement pour permettre la modification de données dans la nouvelle image d'enregistrement
Lire l'article
Accès aux données déclenchantes
Quand un trigger externe se déclenche, il utilise souvent les données de la requête de la base de données déclenchante. Par exemple, un trigger d'insertion peut placer les données pour une nouvelle ligne dans une file d'attente de données. C'est le buffer des triggers qui met ces données à la
Lire l'article
Options des triggers
La majorité des triggers SQL procurent des fonctionnalités équivalentes aux triggers externes actuels, et aussi une poignée de fonctions dont ne disposent pas les triggers externes.
Comme une table, un trigger a un nom en deux parties qui inclut un nom de schéma (bibliothèque). Le nom du trigger doit
Lire l'article
Exigences des triggers
Si vous avez codé des fonctions ou des procédures cataloguées dans les releases précédentes, vous trouverez des points communs avec le développement de triggers SQL sur l'iSeries. En effet, on utilise les mêmes instructions pour coder la logique de gestion dans le trigger, et les triggers SQL sont aussi implémentés
Lire l'article
Figure 3F
Programme de recherche phonétique dans Customer
FCustSrch CF E WorkStn SFile( RecSfl : SflRecNbr ) F IndDS( CustSrchIndDS ) FCustomerL1IF E K Disk * =================================================================== * = Entry parameters * =================================================================== D EntryParms PR ExtPgm( 'CUSTSRCH' ) D 2 0 D EntryParms PI D LastNameIn 20 D CustSrchIndDS DS D Exit Lire l'article

Figure 3E
Fichier écran de recherche phonétique dans Customer
* =================================================================== * = File.......... CustSrch * = Description... Phonetic customer search * =================================================================== A I NDARA A R RECSFL SFL A LASTNAME 20 O 5 2 A FIRSTNAME 10 O 5 23 A R RECSFC SFLCTL(RECSFL) A OVERLAY A CF03(01) A 02 SFLEND Lire l'article

Figure 3D
Fichier maître Customer par nom phonétiquement
* =================================================================== * = File.......... CustomerL1 * = Description... Customer Master File with phonetic sequencing = * =================================================================== A R CUSTOMERR PFILE(CUSTOMER) A K LASTSOUND A K LASTNAME A K FIRSTNAMELire l'article

Figure 3C
Ajouts de maintenance au fichier maître Customer
C/exec SQL C+ Set :LastSound = Soundex( :LastName ) C/end-execLire l'article

Figure 3B
Nouveau fichier maître Customer
* =================================================================== * = File.......... Customer * = Description... Customer Master File * =================================================================== A R CUSTOMERR A CUSTID 5 A LASTNAME 20 A FIRSTNAME 10 A LASTSOUND 4 A K CUSTIDLire l'article

Figure 3A
Fichier maître Customer
* =================================================================== * = File.......... Customer * = Description... Customer Master File * =================================================================== A R CUSTOMERR A CUSTID 5 A LASTNAME 20 A FIRSTNAME 10 A K CUSTIDLire l'article

Figure 2B
Extraire la valeur week-of-year ISO avec la fonction scalaire Week_ISO
* =================================================================== * = Description... Retrieve ISO week-of-year * =================================================================== D SomeDate S D Inz( D'2001-10-23' ) D ISOWeek S 5I 0 C/exec SQL C+ Set :ISOWeek = Week_ISO( SomeDate ) C/end-exec C Eval *InLR = *OnLire l'article

Figure 2A
Extraire la valeur week-of-year ISO avec RPG seulement
* =================================================================== * = Description... Retrieve ISO week-of-year * =================================================================== D RtvDayOfWeek PR 5I 0 D D Value D RtvISOWeek PR 5I 0 D D Value D SomeDate S D Inz( D'2001-10-23' ) D ISOWeek S 5I 0 C Eval ISOWeek = RtvISOWeek( Lire l'article

Figure 1B
Extraire la valeur day-of-week avec la fonction scalaire DayOfWeek
* =================================================================== * = Description... Retrieve day-of-week * =================================================================== H NoMain D RtvDayOfWeek PR 5I 0 D D Value P RtvDayOfWeek B Export D RtvDayOfWeek PI 5I 0 D DateIn D Value D DayOfWeekNbr S 5I 0 C/exec SQL C+ Set :DayOfWeekNbr Lire l'article

Figure 1A
Extraire la valeur day-of-week avec RPG seulement
* =================================================================== * = Description... Retrieve day-of-week * =================================================================== H NoMain D RtvDayOfWeek PR 5I 0 D D Value P RtvDayOfWeek B Export D RtvDayOfWeek PI 5I 0 D DateIn D Value D SomeSunday S D Inz( D'2001-05-20' ) D Days S 10I 0 Lire l'article

Essayez donc
On voit bien que les fonctions scalaires SQL sont simples et puissantes. Je vous engage vivement à consulter les articles et les manuels IBM indiqués dans l'encadré Autres lectures, pour voir quelles fonctions scalaires vous sembleront utiles. Soyez certain que quand vous en trouverez une et l'utiliserez, vos applications seront
Lire l'article
» à‡a ressemble à … » n’est pas simplement pour des charades
L'une des compagnies aériennes que j'utilise pourrait faire son profit des fonctions scalaires SQL. Ou plutôt, les clients de cette compagnie aérienne devraient en profiter ! Je vais démontrer comment par le récit d'une mésaventure et des exemples de l'une de mes fonctions scalaires favorites, Soundex, ajoutée dans la V4R5.
Lire l'article
Engranger les bénéfices
Voyons un exemple avec des avantages plus évidents . L' ISO (International Standards Organization) définit un standard (ISO 8601) pour calculer la semaine de l'année dans laquelle tombe une certaine date. Selon ce standard, lundi marque le début de la semaine et la première semaine d'une année contient le premier
Lire l'article
Le mécanisme des fonctions scalaires imbriquées
Ceux qui pensent que le SQL imbriqué est source de confusion et se demandent pourquoi s'en préoccuper, seront peut-être surpris en voyant la simplicité avec laquelle on peut imbriquer des fonctions scalaires dans les applications. Pour illustrer cela, examinons à nouveau la fonction scalaire DayOfWeek. La figure 1A présente un
Lire l'articleLes plus consultés sur iTPro.fr
- L’IA et le Web ouvert : entre prédation et cohabitation, l’heure du choix
- Souveraineté numérique : après les mots, place aux actes
- La cybersécurité, c’est le rôle de tous !
- DORA : quels impacts après les six premiers mois de mise en conformité sur le terrain ?
- Cybersécurité : le secteur de la santé toujours au défi de la sécurité des e-mails
