Exemple de déclencheur de base de données

WebSphere Commerce utilise les déclencheurs de base de données pour indiquer que le contenu a été modifié. Ces déclencheurs écrivent des informations dans la table CACHLOG pour indiquer les pages qui doivent être supprimées de la mémoire cache.

Si vous avez personnalisé WebSphere Commerce, vous pouvez écrire vos propres déclencheurs. D'une manière générale, vous devez créer vos propres scripts de déclencheurs et ne pas modifier les scripts fournis avec WebSphere Commerce.

Prenons le scénario suivant :

Vous avez ajouté une instruction WebSphere Commerce qui affiche un emplacement dans lequel les clients prélèvent leur marchandise provenant de votre magasin. L'URL est la suivante :
http://mySite/webapp/wcs/stores/servlet/ShowPickupAddress?storeId=1&location=3

Vous avez créé la table PICKUP_SITES dans laquelle sont enregistrées les informations de prélèvement. Elle comporte :

L'exemple suivant présente un déclencheur qui supprime ces pages de la mémoire cache :

CREATE TRIGGER pickup_1
AFTER UPDATE ON PICKUP_SITES
REFERENCING OLD AS N FOR EACH ROW MODE DB2SQL
INSERT INTO cachlog (cacurlname, cachashkey, cacmemberkey, cachashvalue, cacmembervalue, cacstmp, cactrigid)
VALUES ('ShowPickupAddress', 'location', 'storeId', N.location, 1, CURRENT TIMESTAMP, INT('1001'));
CREATE TRIGGER pickup_1
AFTER DELETE ON PICKUP_SITES
REFERENCING OLD AS N FOR EACH ROW MODE DB2SQL
INSERT INTO cachlog (cacurlname, cachashkey, cacmemberkey, cachashvalue, cacmembervalue, cacstmp, cactrigid)
VALUES ('ShowPickupAddress', 'location', 'storeId', N.location, 1, CURRENT TIMESTAMP, INT('1002'));

Ce déclencheur indique ce qui suit :

Les déclencheurs doivent placer autant de données que possible dans l'entrée de la table CACHLOG. Si vous laissez une ou plusieurs colonnes vides, cela indique que vous voulez que soient supprimées toutes les pages comportant une valeur pour ce paramètre.

Une fois la ligne validée dans la table CACHLOG, l'agent de nettoyage de la mémoire cache supprime la ou les page(s) indiquée(s) lors de son itération suivante, à condition que l'invalidation automatique de page ait été activée.

Rubriques connexes (1275 octets)

Référence connexe (1292 octets)

IBM copyright