*   >> Lecture Éducation Articles >> science >> la programmation

Un déclencheur Exemple dans Sybase Sql Anywhere

LUES ('poire', 'fruits', '150', '70', '3', '4'); - Maintenant, tapez la commande suivante pour créer la table de Manager (effacer toute déclaration précédemment tapé): CREATE Manager TABLE (EventID INTEGER DEFAULT AUTOINCREMENT, DateAndTime TIMESTAMP DEFAULT TIMESTAMP, ProductName CHAR (40), EventMessage CHAR (60) DEFAULT 'est allé ci-dessous réordonner niveau ', ReorderLevel ENTIER, CurrentLevel ENTIER, la clé primaire (EventID ASC)); Notez que la chaîne de message par défaut est entre des guillemets simples.

- Maintenant, lire et tapez la commande suivante pour créer un déclencheur (effacer toute déclaration précédemment tapé): CREATE TRIGGER InformManager AFTER UPDATE ORDER 2 Produits REFERENCING NEW AS newRow FOR EACH ROW commencer Si newRow.Number INSERT INTO Manager (ProductName, ReorderLevel, CurrentLevel ) VALUES (newRow.ProductName, newRow.ReorderLevel, newRow.Number); FIN SI; FIN; Il aurait été créé et sauvegardé. Ici, dans "newRow.ProductName" et "newRow.ReorderLevel", ProductName et ReorderLevel sont de la table Produits et non la table de gestionnaire.

Il ya une ligne commençant par SI et une autre ligne ayant "End If" dans le code de déclenchement. Je vais vous expliquer ces lignes en détail plus tard. Pour l'instant, il suffit de savoir que ces lignes vérifier si la quantité (nombre) du produit de la ligne est inférieure ou égale à la reorderlevel. Si tel est le cas, alors une rangée sera insérée dans la table du gestionnaire, par l'instruction Insert entre les deux lignes.

La prochaine chose à faire est d'exécuter une instruction SQL Update pour faire le nombre d'un produit dans le tableau des produits d'une valeur en dessous du niveau de réapprovisionnement. Faisons-le pour le produit, Spoon. - Lire et tapez l'instruction suivante de mise à jour (d'abord effacer): Mise à jour des produits Nombre SET = 10 OÙ ProductName = 'Spoon'; Maintenant, nous devons vérifier si le déclencheur a été lancé et l'événement enregistré dans le tableau, Manager. Faire ça.

- Lire et tapez l'instruction SELECT suivante (effacer en premier): SELECT * FROM gestionnaire; Vous devriez voir le record de l'épreuve. Eh bien, il est vrai que le déclencheur a résolu un problème. Cependant, il ya des problèmes connexes qu'il n'a pas résolus. Il ya une chaîne d'événements qui se produisent à compter de la vente. Le greffier de vente vend un produit et l'information entrée dans les ventes et SaleDetails tables. Qui est déjà un événement, qui devrait avoir son propre déc

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.