{Oracle} trigger ou pas ? -- Oracle Débutant
slaxware
Messages postés
78
Date d'inscription
Statut
Membre
Dernière intervention
-
slaxware Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
slaxware Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'explique mon problème.
Je souhaite créer une Bdd pour le suivi de mon véhicule (nombres de kilomètre, nombre de litres ajoutés, penus changés etc...)
Sur une seule table, j'ai la date (primary key), nombre de kilométre actuel, nombre de kilometre avant le rajout de litre, nombre de litre ajouté puis d'autre colonnes...
mon probleme. Je calcule la consommation moyenne par rapport à la différence des deux colonnes concernant les kilomètres, ici pas de souçi, par contre lors d'un insert into, je veux récuperer la valeur de la colonne nombre de kilométre actuel du n-uplets d'avant. Pour éviter de rentrer à chaque fois les deux valeur kilométriques.
je dois surement utiliser un trigger mais je n'arrive même pas à démarrer; comment identifier la valeur 'nombre de kilomètre actuel' dans le n-uplet précèdent ?
J'espère avoir été assez clair.
Cordialement
J'explique mon problème.
Je souhaite créer une Bdd pour le suivi de mon véhicule (nombres de kilomètre, nombre de litres ajoutés, penus changés etc...)
Sur une seule table, j'ai la date (primary key), nombre de kilométre actuel, nombre de kilometre avant le rajout de litre, nombre de litre ajouté puis d'autre colonnes...
mon probleme. Je calcule la consommation moyenne par rapport à la différence des deux colonnes concernant les kilomètres, ici pas de souçi, par contre lors d'un insert into, je veux récuperer la valeur de la colonne nombre de kilométre actuel du n-uplets d'avant. Pour éviter de rentrer à chaque fois les deux valeur kilométriques.
je dois surement utiliser un trigger mais je n'arrive même pas à démarrer; comment identifier la valeur 'nombre de kilomètre actuel' dans le n-uplet précèdent ?
J'espère avoir été assez clair.
Cordialement
A voir également:
- {Oracle} trigger ou pas ? -- Oracle Débutant
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Oracle liste des tables ✓ - Forum Programmation
- Formation sap débutant pdf ✓ - Forum Logiciels
- Liste des tables d'une BdD sur Oracle - Forum Oracle
2 réponses
Salut,
Pas de bol, Oracle est clair sur le sujet : un trigger sur un table ne peut consulter/modifier quoi que ce soit dans cette table.
Donc, ton insertion devra être du genre :
insert into matable
select to_date('xx/xx/xx', 'dd/mm/yy') -- xx/xx/xx est la date provenant du formulaire
, max(nombre_de_kilometres) -- le max de kilometres trouvable dans matable
, nnnnnn1 -- c'est le nb de km avant ajout provenant du formulaire
, nnnnnn2 -- c'est le nb de litres ajoutés provenant du formulaire
from matable
je te laisse remplacer matable par le nom de ta table, xx/xx/xx et les nnnnnni par les valeurs en provenance de ton formualire & nombre_de_kilometres par le nom exact de la colonne. Et je te laisse ajouter les prédicats qui vont bien pour t'assurer que le select dans cet insert ne renvoie bien qu'une seule ligne.
Pas de bol, Oracle est clair sur le sujet : un trigger sur un table ne peut consulter/modifier quoi que ce soit dans cette table.
Donc, ton insertion devra être du genre :
insert into matable
select to_date('xx/xx/xx', 'dd/mm/yy') -- xx/xx/xx est la date provenant du formulaire
, max(nombre_de_kilometres) -- le max de kilometres trouvable dans matable
, nnnnnn1 -- c'est le nb de km avant ajout provenant du formulaire
, nnnnnn2 -- c'est le nb de litres ajoutés provenant du formulaire
from matable
je te laisse remplacer matable par le nom de ta table, xx/xx/xx et les nnnnnni par les valeurs en provenance de ton formualire & nombre_de_kilometres par le nom exact de la colonne. Et je te laisse ajouter les prédicats qui vont bien pour t'assurer que le select dans cet insert ne renvoie bien qu'une seule ligne.
Merci pour ta réponse rapide.
Effectivement, je vois bien que ta méthode fonctionne (je me rend bien compte que je suis débutant, n'ayant pas encore ce genre de raisonnement).
J'essaye ça rapidement (pour la fin de la semaine) et je t'en dis le résultat.
Par contre, tu dis 'Oracle est clair sur le sujet', ce qui veut dire que sous d'autres Bdd, je pourrais ??
Cordialement
Effectivement, je vois bien que ta méthode fonctionne (je me rend bien compte que je suis débutant, n'ayant pas encore ce genre de raisonnement).
J'essaye ça rapidement (pour la fin de la semaine) et je t'en dis le résultat.
Par contre, tu dis 'Oracle est clair sur le sujet', ce qui veut dire que sous d'autres Bdd, je pourrais ??
Cordialement