J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" wrote in message
news:J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" <vdartois@francelot.com> wrote in message
news:O63Bak37FHA.2040@TK2MSFTNGP14.phx.gbl...
J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" wrote in message
news:J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition=inserted idProposition
Merci !
Cela fonctionne très bien !
par contre, j'aimerais bien comprendre pourquoi ce que j'avais fais, ne
fonctionnait pas ou ne peux pas fonctionner.
"Philippe T [MS]" a écrit dans le message
de news:Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" wrote in message
news:J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que
je suis en train de mettre à jour.
Merci de votre aide.
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition=inserted idProposition
Merci !
Cela fonctionne très bien !
par contre, j'aimerais bien comprendre pourquoi ce que j'avais fais, ne
fonctionnait pas ou ne peux pas fonctionner.
"Philippe T [MS]" <ptrotin@online.microsoft.com> a écrit dans le message
de news: ex0ys6H8FHA.1028@TK2MSFTNGP11.phx.gbl...
Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" <vdartois@francelot.com> wrote in message
news:O63Bak37FHA.2040@TK2MSFTNGP14.phx.gbl...
J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que
je suis en train de mettre à jour.
Merci de votre aide.
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition=inserted idProposition
Merci !
Cela fonctionne très bien !
par contre, j'aimerais bien comprendre pourquoi ce que j'avais fais, ne
fonctionnait pas ou ne peux pas fonctionner.
"Philippe T [MS]" a écrit dans le message
de news:Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" wrote in message
news:J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que
je suis en train de mettre à jour.
Merci de votre aide.
Oh philippe, c'est horrible ce que tu fais... Car ça va pas marvhé en cas
de mise à jour de plusieurs tuples simultanés !
Voici quelque chose de plus "ensembliste"...
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= SUM(dblPrixCompoProposition)
FROM dbo.tCompoProposition CP
INNER JOIN inserted i ON CP.idProposition = i.idProposition
GROUP BY CP.idProposition, i.idProposition
END
A +
Philippe T [MS] a écrit:Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" wrote in message
news:J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Oh philippe, c'est horrible ce que tu fais... Car ça va pas marvhé en cas
de mise à jour de plusieurs tuples simultanés !
Voici quelque chose de plus "ensembliste"...
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= SUM(dblPrixCompoProposition)
FROM dbo.tCompoProposition CP
INNER JOIN inserted i ON CP.idProposition = i.idProposition
GROUP BY CP.idProposition, i.idProposition
END
A +
Philippe T [MS] a écrit:
Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" <vdartois@francelot.com> wrote in message
news:O63Bak37FHA.2040@TK2MSFTNGP14.phx.gbl...
J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Oh philippe, c'est horrible ce que tu fais... Car ça va pas marvhé en cas
de mise à jour de plusieurs tuples simultanés !
Voici quelque chose de plus "ensembliste"...
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= SUM(dblPrixCompoProposition)
FROM dbo.tCompoProposition CP
INNER JOIN inserted i ON CP.idProposition = i.idProposition
GROUP BY CP.idProposition, i.idProposition
END
A +
Philippe T [MS] a écrit:Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" wrote in message
news:J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Oh philippe, c'est horrible ce que tu fais... Car ça va pas marvhé en cas
mise à jour de plusieurs tuples simultanés !
Voici quelque chose de plus "ensembliste"...
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= SUM(dblPrixCompoProposition)
FROM dbo.tCompoProposition CP
INNER JOIN inserted i ON CP.idProposition = i.idProposition
GROUP BY CP.idProposition, i.idProposition
END
A +
Philippe T [MS] a écrit:
> Bonjour,
>
> Quelque chose comme cela ?
>
> DECLARE @idProposition int
> DECLARE @MySum money
>
> SELECT @idProposition = idProposition FROM inserted
>
> SELECT @MySum = SUM(dblPrixCompoProposition) AS
> FROM dbo.tCompoProposition
> WHERE idProposition = @idProposition
>
> UPDATE tproposition
> SET dblPrixProposition = @MySum
> WHERE idProposition = @idProposition
>
>
> ----------------------------------------------------------------------
> Philippe TROTIN - Microsoft Service France
>
> "Vincent Dartois" wrote in message
> news:
>
>>J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
>>but sur un problème.
>>J'ai 2 tables ( tProposition et tCompoProposition)
>>
>>Ce que je souhaite faire :
>>------------------------
>>Lors de l'ajout/modification de la table tCompoProposition, c'est de
>>calculer la somme de l'ensemble des prix de la composition appartenant à
>>une proposition ( celle dont la composition appartient)
>>ce calcul est mis à jour dans la proposition de la table proposition
>>auquel la composition appartient.
>>
>>Voici ce que j'ai fais :
>>---------------------
>>ALTER TRIGGER tCompoProposition_Trigger1
>>ON dbo.tCompoProposition
>>FOR INSERT, UPDATE
>>AS
>>BEGIN
>> UPDATE tproposition
>> SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
>>dblPrixPropositionDeCompo
>> FROM dbo.tCompoProposition
>> WHERE idProposition = inserted idProposition)
>>WHERE idProposition=inserted idProposition
>>END
>>
>>mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
>>En bref je voudrais savoir comment récupérer la valeur d'un champs que
>>suis en train de mettre à jour.
>>
>>Merci de votre aide.
>>
>
>
>
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Oh philippe, c'est horrible ce que tu fais... Car ça va pas marvhé en cas
mise à jour de plusieurs tuples simultanés !
Voici quelque chose de plus "ensembliste"...
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= SUM(dblPrixCompoProposition)
FROM dbo.tCompoProposition CP
INNER JOIN inserted i ON CP.idProposition = i.idProposition
GROUP BY CP.idProposition, i.idProposition
END
A +
Philippe T [MS] a écrit:
> Bonjour,
>
> Quelque chose comme cela ?
>
> DECLARE @idProposition int
> DECLARE @MySum money
>
> SELECT @idProposition = idProposition FROM inserted
>
> SELECT @MySum = SUM(dblPrixCompoProposition) AS
> FROM dbo.tCompoProposition
> WHERE idProposition = @idProposition
>
> UPDATE tproposition
> SET dblPrixProposition = @MySum
> WHERE idProposition = @idProposition
>
>
> ----------------------------------------------------------------------
> Philippe TROTIN - Microsoft Service France
>
> "Vincent Dartois" <vdartois@francelot.com> wrote in message
> news:O63Bak37FHA.2040@TK2MSFTNGP14.phx.gbl...
>
>>J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
>>but sur un problème.
>>J'ai 2 tables ( tProposition et tCompoProposition)
>>
>>Ce que je souhaite faire :
>>------------------------
>>Lors de l'ajout/modification de la table tCompoProposition, c'est de
>>calculer la somme de l'ensemble des prix de la composition appartenant à
>>une proposition ( celle dont la composition appartient)
>>ce calcul est mis à jour dans la proposition de la table proposition
>>auquel la composition appartient.
>>
>>Voici ce que j'ai fais :
>>---------------------
>>ALTER TRIGGER tCompoProposition_Trigger1
>>ON dbo.tCompoProposition
>>FOR INSERT, UPDATE
>>AS
>>BEGIN
>> UPDATE tproposition
>> SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
>>dblPrixPropositionDeCompo
>> FROM dbo.tCompoProposition
>> WHERE idProposition = inserted idProposition)
>>WHERE idProposition=inserted idProposition
>>END
>>
>>mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
>>En bref je voudrais savoir comment récupérer la valeur d'un champs que
>>suis en train de mettre à jour.
>>
>>Merci de votre aide.
>>
>
>
>
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Oh philippe, c'est horrible ce que tu fais... Car ça va pas marvhé en cas
mise à jour de plusieurs tuples simultanés !
Voici quelque chose de plus "ensembliste"...
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= SUM(dblPrixCompoProposition)
FROM dbo.tCompoProposition CP
INNER JOIN inserted i ON CP.idProposition = i.idProposition
GROUP BY CP.idProposition, i.idProposition
END
A +
Philippe T [MS] a écrit:
> Bonjour,
>
> Quelque chose comme cela ?
>
> DECLARE @idProposition int
> DECLARE @MySum money
>
> SELECT @idProposition = idProposition FROM inserted
>
> SELECT @MySum = SUM(dblPrixCompoProposition) AS
> FROM dbo.tCompoProposition
> WHERE idProposition = @idProposition
>
> UPDATE tproposition
> SET dblPrixProposition = @MySum
> WHERE idProposition = @idProposition
>
>
> ----------------------------------------------------------------------
> Philippe TROTIN - Microsoft Service France
>
> "Vincent Dartois" wrote in message
> news:
>
>>J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
>>but sur un problème.
>>J'ai 2 tables ( tProposition et tCompoProposition)
>>
>>Ce que je souhaite faire :
>>------------------------
>>Lors de l'ajout/modification de la table tCompoProposition, c'est de
>>calculer la somme de l'ensemble des prix de la composition appartenant à
>>une proposition ( celle dont la composition appartient)
>>ce calcul est mis à jour dans la proposition de la table proposition
>>auquel la composition appartient.
>>
>>Voici ce que j'ai fais :
>>---------------------
>>ALTER TRIGGER tCompoProposition_Trigger1
>>ON dbo.tCompoProposition
>>FOR INSERT, UPDATE
>>AS
>>BEGIN
>> UPDATE tproposition
>> SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
>>dblPrixPropositionDeCompo
>> FROM dbo.tCompoProposition
>> WHERE idProposition = inserted idProposition)
>>WHERE idProposition=inserted idProposition
>>END
>>
>>mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
>>En bref je voudrais savoir comment récupérer la valeur d'un champs que
>>suis en train de mettre à jour.
>>
>>Merci de votre aide.
>>
>
>
>
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" wrote in message
news:J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" <vdartois@francelot.com> wrote in message
news:O63Bak37FHA.2040@TK2MSFTNGP14.phx.gbl...
J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.
Bonjour,
Quelque chose comme cela ?
DECLARE @idProposition int
DECLARE @MySum money
SELECT @idProposition = idProposition FROM inserted
SELECT @MySum = SUM(dblPrixCompoProposition) AS dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = @idProposition
UPDATE tproposition
SET dblPrixProposition = @MySum
WHERE idProposition = @idProposition
----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France
"Vincent Dartois" wrote in message
news:J'ai besoin d'utilisé pour la première fois les triggers et voilà que je
but sur un problème.
J'ai 2 tables ( tProposition et tCompoProposition)
Ce que je souhaite faire :
------------------------
Lors de l'ajout/modification de la table tCompoProposition, c'est de
calculer la somme de l'ensemble des prix de la composition appartenant à
une proposition ( celle dont la composition appartient)
ce calcul est mis à jour dans la proposition de la table proposition
auquel la composition appartient.
Voici ce que j'ai fais :
---------------------
ALTER TRIGGER tCompoProposition_Trigger1
ON dbo.tCompoProposition
FOR INSERT, UPDATE
AS
BEGIN
UPDATE tproposition
SET dblPrixProposition= (SELECT SUM(dblPrixCompoProposition) AS
dblPrixPropositionDeCompo
FROM dbo.tCompoProposition
WHERE idProposition = inserted idProposition)
WHERE idProposition=inserted idProposition
END
mais j'ai une erreur sur le "inserted" que je mette le "." ou non.
En bref je voudrais savoir comment récupérer la valeur d'un champs que je
suis en train de mettre à jour.
Merci de votre aide.