|
|
|
|
fidele, le mardi 29 janvier 2008 à 20:22:30Configuration: Windows XP / Unix / Internet Explorer 6.0 sql*Plus 8.0.6 et Oracle Applications 11.5.10
à priori je dois dire que pour des raisons de performance il ne faut pas surcharger les triggers. t'as déjà mentionné qu'il est éxécuter assez souvent. n'y aurait il pas une autre solution ? on dit aussi que c'est une mauvaise pratique d'appeler des procedures externes (encore plus lent plus d'autres pbs), dans qq bdd c'est même pas possible. puis tu fais des calculs (à nouveau lent).
je dirais : prends un fauteuille et rélaxes d'abord, puis regardes l'ensemble et demande toi si le trigger est la seule soluce. souvent en peut les éviter.
|
"Restreindre le déclenchement du trigger en fonction d'informations non basées sur la table (objet du trigger) mais fortement corrélées à certains champs de ma table"
qu'est ce qui t'empeche de lire dans ta table ? SI Condition = VRAI ALORS BEGIN FAIT END "la faisabilité ou l'infaisabilité de la chose" faut pas crier comme ca
|
IF (SELECT blabla FROM blublu WHERE blibli) = MyValue THEN
BEGIN
DoSomeStuff
END
je déjà oublié un peu PL/SQL mais en gros ça marche comme ça.
ou bien DECLARE MyVar MyVar := SELECT ... |
salut tt le monde,
svp,j ai un probleme urgent,je voulais ecrire un trigger qui fait ca: - si la date de la commande est moins que 3 jour de la date de livraison,il doit afficher un message d erreur. voici en bas, en detail ce qu il doit faire le trigger Pour une commande standard (achat d’un bouquet standard), la cyberboutique garantit la disponibilité en inventaire des items composant le bouquet seulement si la commande a été passée au moins 3 jours avant la date de livraison. Pour les commandes standards effectuées moins de 3 jours avant la date de livraison, c’est le client qui assume le risque. Il est donc très important d’informer ces clients d’une éventuelle pénurie. L’état de la commande sera alors « VINV »
|
alors comment je ferai et si tu peux m aider la dessus comme m ecrire la requete ou la contrainte.
ou bien le trigger. moi je veux que si la date de livraison est de moins de 3jrs de la date de commande,il me donne erreur ou bien il insert un etat de VINV |