J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ ComSol
pour le solde à livrer.
J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et un
champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des
livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande
on dbo.tlivraisons
for insert
as
update tcommandes set tcommandes.comsol = (tcommandes.comsol -
inserted.livqte) from tcommandes inner join inserted on (tcommandes.comid =
inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal.
Avec un ComSol de 500, l'ajout d'une livraison sur une commande modifie le
ComSol de cette commande en retranchant (496 + LivQte). Donc, une livraison
de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Oliv'
*Pierre Fauconnier que je salut a écrit *:
Bonjour
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ ComSol pour le solde à livrer. J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande on dbo.tlivraisons for insert as update tcommandes set tcommandes.comsol = (tcommandes.comsol - inserted.livqte) from tcommandes inner join inserted on (tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal. Avec un ComSol de 500, l'ajout d'une livraison sur une commande modifie le ComSol de cette commande en retranchant (496 + LivQte). Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0 begin update... end
utiliser aussi coalesce pour les valeurs nulles.
-- -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 les sites références: Excel :http://www.excelabo.net http://xcell05.free.fr/ http://dj.joss.free.fr/ http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/ Word : http://faqword.free.fr/ Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook OE6 : http://www.faqoe.com/ Sql : http://sqlpro.developpez.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Pierre Fauconnier <pierre.fauconnier@nospam.nospam> que je salut a écrit *:
Bonjour
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ
ComSol pour le solde à livrer.
J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et
un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des
livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande
on dbo.tlivraisons
for insert
as
update tcommandes set tcommandes.comsol = (tcommandes.comsol -
inserted.livqte) from tcommandes inner join inserted on
(tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal.
Avec un ComSol de 500, l'ajout d'une livraison sur une commande
modifie le ComSol de cette commande en retranchant (496 + LivQte).
Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer
sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0
begin
update...
end
utiliser aussi coalesce pour les valeurs nulles.
--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/
Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
OE6 : http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ ComSol pour le solde à livrer. J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande on dbo.tlivraisons for insert as update tcommandes set tcommandes.comsol = (tcommandes.comsol - inserted.livqte) from tcommandes inner join inserted on (tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal. Avec un ComSol de 500, l'ajout d'une livraison sur une commande modifie le ComSol de cette commande en retranchant (496 + LivQte). Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0 begin update... end
utiliser aussi coalesce pour les valeurs nulles.
-- -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 les sites références: Excel :http://www.excelabo.net http://xcell05.free.fr/ http://dj.joss.free.fr/ http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/ Word : http://faqword.free.fr/ Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook OE6 : http://www.faqoe.com/ Sql : http://sqlpro.developpez.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Pierre Fauconnier
Bonjour Oliv',
Il me semble que nous nous croisons de temps en temps sur MPFE. Me trompe-je?
Pour revenir à mon problème.
En fait, après avoir vérifié, testé et pesté, je me suis rendu compte que... j'avais un autre déclencheur, que je croyais avoir supprimé, qui effectuait lui aussi une opération lors de l'insertion d'une nouvelle donnée. Une fois ce déclencheur supprimé, tout a bien fonctionné.
Désolé pour la perte de temps du à ma négligence... et merci d'avoir pris le temps de lire.
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Oliv'" a écrit dans le message de news: %
*Pierre Fauconnier que je salut a écrit *:
Bonjour
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ ComSol pour le solde à livrer. J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande on dbo.tlivraisons for insert as update tcommandes set tcommandes.comsol = (tcommandes.comsol - inserted.livqte) from tcommandes inner join inserted on (tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal. Avec un ComSol de 500, l'ajout d'une livraison sur une commande modifie le ComSol de cette commande en retranchant (496 + LivQte). Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0 begin update... end
utiliser aussi coalesce pour les valeurs nulles.
-- -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 les sites références: Excel :http://www.excelabo.net http://xcell05.free.fr/ http://dj.joss.free.fr/ http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/ Word : http://faqword.free.fr/ Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook OE6 : http://www.faqoe.com/ Sql : http://sqlpro.developpez.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bonjour Oliv',
Il me semble que nous nous croisons de temps en temps sur MPFE. Me
trompe-je?
Pour revenir à mon problème.
En fait, après avoir vérifié, testé et pesté, je me suis rendu compte que...
j'avais un autre déclencheur, que je croyais avoir supprimé, qui effectuait
lui aussi une opération lors de l'insertion d'une nouvelle donnée. Une fois
ce déclencheur supprimé, tout a bien fonctionné.
Désolé pour la perte de temps du à ma négligence... et merci d'avoir pris le
temps de lire.
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam) (Skype:
pierre_fauconnier)
"Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en
commun"
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Oliv'" <SUPPRIMERCECIcatteau@ricour-assurances.fr> a écrit dans le message
de news: %23jxbAV58GHA.1248@TK2MSFTNGP03.phx.gbl...
*Pierre Fauconnier <pierre.fauconnier@nospam.nospam> que je salut a écrit
*:
Bonjour
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ
ComSol pour le solde à livrer.
J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et
un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des
livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande
on dbo.tlivraisons
for insert
as
update tcommandes set tcommandes.comsol = (tcommandes.comsol -
inserted.livqte) from tcommandes inner join inserted on
(tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal.
Avec un ComSol de 500, l'ajout d'une livraison sur une commande
modifie le ComSol de cette commande en retranchant (496 + LivQte).
Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer
sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0
begin
update...
end
utiliser aussi coalesce pour les valeurs nulles.
--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/
Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
OE6 : http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Il me semble que nous nous croisons de temps en temps sur MPFE. Me trompe-je?
Pour revenir à mon problème.
En fait, après avoir vérifié, testé et pesté, je me suis rendu compte que... j'avais un autre déclencheur, que je croyais avoir supprimé, qui effectuait lui aussi une opération lors de l'insertion d'une nouvelle donnée. Une fois ce déclencheur supprimé, tout a bien fonctionné.
Désolé pour la perte de temps du à ma négligence... et merci d'avoir pris le temps de lire.
-- Pierre Fauconnier () (Skype: pierre_fauconnier) "Les choses qui n'ont rien en commun ont en commun qu'elles n'ont rien en commun" Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Oliv'" a écrit dans le message de news: %
*Pierre Fauconnier que je salut a écrit *:
Bonjour
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ ComSol pour le solde à livrer. J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande on dbo.tlivraisons for insert as update tcommandes set tcommandes.comsol = (tcommandes.comsol - inserted.livqte) from tcommandes inner join inserted on (tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal. Avec un ComSol de 500, l'ajout d'une livraison sur une commande modifie le ComSol de cette commande en retranchant (496 + LivQte). Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0 begin update... end
utiliser aussi coalesce pour les valeurs nulles.
-- -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Have a nice day Oliv' Pour me joindre : http://cerbermail.com/?V8r2o1YHl4 les sites références: Excel :http://www.excelabo.net http://xcell05.free.fr/ http://dj.joss.free.fr/ http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/ Word : http://faqword.free.fr/ Outlook : http://faq.outlook.free.fr/ les archives : http://groups.google.com/group/microsoft.public.fr.outlook OE6 : http://www.faqoe.com/ Sql : http://sqlpro.developpez.com/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Oliv'
*Pierre Fauconnier que je salut a écrit *:
Bonjour Oliv',
Il me semble que nous nous croisons de temps en temps sur MPFE. Me trompe-je?
du tout c'est effectivement le cas !!
Pour revenir à mon problème.
En fait, après avoir vérifié, testé et pesté, je me suis rendu compte que... j'avais un autre déclencheur, que je croyais avoir supprimé, qui effectuait lui aussi une opération lors de l'insertion d'une nouvelle donnée. Une fois ce déclencheur supprimé, tout a bien fonctionné. Désolé pour la perte de temps du à ma négligence... et merci d'avoir pris le temps de lire.
Pas grave A+ Oliv'
"Oliv'" a écrit dans le message de news: %
*Pierre Fauconnier que je salut a écrit *:
Bonjour
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ ComSol pour le solde à livrer. J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande on dbo.tlivraisons for insert as update tcommandes set tcommandes.comsol = (tcommandes.comsol - inserted.livqte) from tcommandes inner join inserted on (tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal. Avec un ComSol de 500, l'ajout d'une livraison sur une commande modifie le ComSol de cette commande en retranchant (496 + LivQte). Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0 begin update... end
utiliser aussi coalesce pour les valeurs nulles.
*Pierre Fauconnier <pierre.fauconnier@nospam.nospam> que je salut a écrit *:
Bonjour Oliv',
Il me semble que nous nous croisons de temps en temps sur MPFE. Me
trompe-je?
du tout c'est effectivement le cas !!
Pour revenir à mon problème.
En fait, après avoir vérifié, testé et pesté, je me suis rendu compte
que... j'avais un autre déclencheur, que je croyais avoir supprimé,
qui effectuait lui aussi une opération lors de l'insertion d'une
nouvelle donnée. Une fois ce déclencheur supprimé, tout a bien
fonctionné.
Désolé pour la perte de temps du à ma négligence... et merci d'avoir
pris le temps de lire.
Pas grave
A+
Oliv'
"Oliv'" <SUPPRIMERCECIcatteau@ricour-assurances.fr> a écrit dans le
message de news: %23jxbAV58GHA.1248@TK2MSFTNGP03.phx.gbl...
*Pierre Fauconnier <pierre.fauconnier@nospam.nospam> que je salut a
écrit *:
Bonjour
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ
ComSol pour le solde à livrer.
J'ai une table tLivraisons avec un champ LivQte pour la qté livrée
et un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des
livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande
on dbo.tlivraisons
for insert
as
update tcommandes set tcommandes.comsol = (tcommandes.comsol -
inserted.livqte) from tcommandes inner join inserted on
(tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal.
Avec un ComSol de 500, l'ajout d'une livraison sur une commande
modifie le ComSol de cette commande en retranchant (496 + LivQte).
Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer
sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0
begin
update...
end
Il me semble que nous nous croisons de temps en temps sur MPFE. Me trompe-je?
du tout c'est effectivement le cas !!
Pour revenir à mon problème.
En fait, après avoir vérifié, testé et pesté, je me suis rendu compte que... j'avais un autre déclencheur, que je croyais avoir supprimé, qui effectuait lui aussi une opération lors de l'insertion d'une nouvelle donnée. Une fois ce déclencheur supprimé, tout a bien fonctionné. Désolé pour la perte de temps du à ma négligence... et merci d'avoir pris le temps de lire.
Pas grave A+ Oliv'
"Oliv'" a écrit dans le message de news: %
*Pierre Fauconnier que je salut a écrit *:
Bonjour
J'ai un petit souci avec deux tables en sql (MSDE 2000)
J'ai une table tCommandes avec une clé primaire ComID et un champ ComSol pour le solde à livrer. J'ai une table tLivraisons avec un champ LivQte pour la qté livrée et un champ ComID lié à la table des commandes.
Le but est bien entendu qu'à l'ajout d'une ligne dans la table des livraisons, ComSol soit adapté dans la table des commandes.
Pour ce faire, j'utilise ceci:
ALTER TRIGGER AjoutMAJSoldeCommande on dbo.tlivraisons for insert as update tcommandes set tcommandes.comsol = (tcommandes.comsol - inserted.livqte) from tcommandes inner join inserted on (tcommandes.comid = inserted.comid)
Le hic, c'est que le déclencheur fonctionne, mais mal. Avec un ComSol de 500, l'ajout d'une livraison sur une commande modifie le ComSol de cette commande en retranchant (496 + LivQte). Donc, une livraison de 0 pièces retranche 496 unités de ComSol...
Où est l'erreur?
D'avance, merci pour vos éclaircissements.
J'ai pas touT compris peut tu essayer de reexpliquer sinon un pisteserais de tester ta valeur
if (select livqte from inserted ) >0 begin update... end