bonsoir, je suis face a un probleme de mis a jour
je dispose de 2 tables
Tbl_DetailCmd
IdDetailCmd int
IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere)
IdPieceDetachee int
Qte int 'nbre de piece detachee commande
Tbl_Stock
IdStock int
IdPieceDetachee int
NbEnStock int
Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock.
CREATE PROCEDURE [SPUStockPiece]
@IdCmd int
AS
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece =
@IdCmd)
BEGIN
UPDATE Tbl_StockPieceDetachee
SET NbEnStock = NbEnStock + (SELECT
Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee
WHERE Tbl_DetailCmdPiece.IdPieceDetachee =
Tbl_StockPieceDetachee.IdPieceDetachee)
WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT
Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE
IdCmdPiece = @IdCmd)
END
GO
elle me retourne une erreur en medisant qu'il selectionne trop de ligne,
savez vous ce qu'il faut changer pour que cela marche
en fait mon probleme vient du fait que je doit mettre le stock a jour pour chaque ligne DetailCmd
Comment faire?
Philippe T [MS]
Bonjour,
Quelqeu chose du genre :
CREATE PROCEDURE [SPUStockPiece] ( @IdCmd int ) AS BEGIN IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece @IdCmd) BEGIN
UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte FROM Tbl_StockPieceDetachee INNER JOIN Tbl_DetailCmdPiece ON Tbl_StockPieceDetachee.IdPieceDetachee = Tbl_DetailCmdPiece.IdPieceDetachee WHERE IdCmdPiece = @IdCmd
END END GO
Phil. ________________________________________________________ Philippe TROTIN http://blogs.msdn.com/ptrotin Microsoft Services France http://www.microsoft.com/france
"Etudiant" wrote in message news:exhgSQa$
bonsoir, je suis face a un probleme de mis a jour je dispose de 2 tables
Tbl_DetailCmd IdDetailCmd int IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere) IdPieceDetachee int Qte int 'nbre de piece detachee commande
Tbl_Stock IdStock int IdPieceDetachee int NbEnStock int
Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock.
CREATE PROCEDURE [SPUStockPiece]
@IdCmd int
AS
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece > @IdCmd) BEGIN UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + (SELECT Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee WHERE Tbl_DetailCmdPiece.IdPieceDetachee > Tbl_StockPieceDetachee.IdPieceDetachee) WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE IdCmdPiece = @IdCmd) END GO
elle me retourne une erreur en medisant qu'il selectionne trop de ligne, savez vous ce qu'il faut changer pour que cela marche
merci
Bonjour,
Quelqeu chose du genre :
CREATE PROCEDURE [SPUStockPiece]
(
@IdCmd int
)
AS
BEGIN
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece @IdCmd)
BEGIN
UPDATE Tbl_StockPieceDetachee
SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte
FROM Tbl_StockPieceDetachee
INNER JOIN Tbl_DetailCmdPiece ON
Tbl_StockPieceDetachee.IdPieceDetachee = Tbl_DetailCmdPiece.IdPieceDetachee
WHERE IdCmdPiece = @IdCmd
END
END
GO
Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france
"Etudiant" <user@domain.invalid> wrote in message
news:exhgSQa$EHA.1296@TK2MSFTNGP10.phx.gbl...
bonsoir, je suis face a un probleme de mis a jour
je dispose de 2 tables
Tbl_DetailCmd
IdDetailCmd int
IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere)
IdPieceDetachee int
Qte int 'nbre de piece detachee commande
Tbl_Stock
IdStock int
IdPieceDetachee int
NbEnStock int
Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock.
CREATE PROCEDURE [SPUStockPiece]
@IdCmd int
AS
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece > @IdCmd)
BEGIN
UPDATE Tbl_StockPieceDetachee
SET NbEnStock = NbEnStock + (SELECT
Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee
WHERE Tbl_DetailCmdPiece.IdPieceDetachee > Tbl_StockPieceDetachee.IdPieceDetachee)
WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT
Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE
IdCmdPiece = @IdCmd)
END
GO
elle me retourne une erreur en medisant qu'il selectionne trop de ligne,
savez vous ce qu'il faut changer pour que cela marche
CREATE PROCEDURE [SPUStockPiece] ( @IdCmd int ) AS BEGIN IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece @IdCmd) BEGIN
UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte FROM Tbl_StockPieceDetachee INNER JOIN Tbl_DetailCmdPiece ON Tbl_StockPieceDetachee.IdPieceDetachee = Tbl_DetailCmdPiece.IdPieceDetachee WHERE IdCmdPiece = @IdCmd
END END GO
Phil. ________________________________________________________ Philippe TROTIN http://blogs.msdn.com/ptrotin Microsoft Services France http://www.microsoft.com/france
"Etudiant" wrote in message news:exhgSQa$
bonsoir, je suis face a un probleme de mis a jour je dispose de 2 tables
Tbl_DetailCmd IdDetailCmd int IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere) IdPieceDetachee int Qte int 'nbre de piece detachee commande
Tbl_Stock IdStock int IdPieceDetachee int NbEnStock int
Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock.
CREATE PROCEDURE [SPUStockPiece]
@IdCmd int
AS
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece > @IdCmd) BEGIN UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + (SELECT Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee WHERE Tbl_DetailCmdPiece.IdPieceDetachee > Tbl_StockPieceDetachee.IdPieceDetachee) WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE IdCmdPiece = @IdCmd) END GO
elle me retourne une erreur en medisant qu'il selectionne trop de ligne, savez vous ce qu'il faut changer pour que cela marche
merci
Fred BROUARD
la requête suivante :
UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + DCP.Qte FROM Tbl_StockPieceDetachee SPD INNER JOIN Tbl_DetailCmdPiece DCP ON SDP.IdPieceDetachee = DCP.IdPieceDetachee WHERE DCP.IdCmdPiece = @IdCmd
Suffit largement. Pas besoin de cursor ni d'exists, le code sera plus léger et plus performant.
Vérifier cepandant l'unicité de la pièces dans la table Tbl_DetailCmdPiece, sinon, faire un SUM(DCP.Qte).
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Etudiant a écrit:
bonsoir, je suis face a un probleme de mis a jour je dispose de 2 tables
Tbl_DetailCmd IdDetailCmd int IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere) IdPieceDetachee int Qte int 'nbre de piece detachee commande
Tbl_Stock IdStock int IdPieceDetachee int NbEnStock int
Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock.
CREATE PROCEDURE [SPUStockPiece]
@IdCmd int
AS
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece = @IdCmd) BEGIN UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + (SELECT Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee WHERE Tbl_DetailCmdPiece.IdPieceDetachee = Tbl_StockPieceDetachee.IdPieceDetachee) WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE IdCmdPiece = @IdCmd) END GO
elle me retourne une erreur en medisant qu'il selectionne trop de ligne, savez vous ce qu'il faut changer pour que cela marche
merci
la requête suivante :
UPDATE Tbl_StockPieceDetachee
SET NbEnStock = NbEnStock + DCP.Qte
FROM Tbl_StockPieceDetachee SPD
INNER JOIN Tbl_DetailCmdPiece DCP
ON SDP.IdPieceDetachee = DCP.IdPieceDetachee
WHERE DCP.IdCmdPiece = @IdCmd
Suffit largement. Pas besoin de cursor ni d'exists, le code sera plus léger et
plus performant.
Vérifier cepandant l'unicité de la pièces dans la table Tbl_DetailCmdPiece,
sinon, faire un SUM(DCP.Qte).
A +
--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Etudiant a écrit:
bonsoir, je suis face a un probleme de mis a jour
je dispose de 2 tables
Tbl_DetailCmd
IdDetailCmd int
IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere)
IdPieceDetachee int
Qte int 'nbre de piece detachee commande
Tbl_Stock
IdStock int
IdPieceDetachee int
NbEnStock int
Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock.
CREATE PROCEDURE [SPUStockPiece]
@IdCmd int
AS
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece =
@IdCmd)
BEGIN
UPDATE Tbl_StockPieceDetachee
SET NbEnStock = NbEnStock + (SELECT
Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee
WHERE Tbl_DetailCmdPiece.IdPieceDetachee =
Tbl_StockPieceDetachee.IdPieceDetachee)
WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT
Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE
IdCmdPiece = @IdCmd)
END
GO
elle me retourne une erreur en medisant qu'il selectionne trop de ligne,
savez vous ce qu'il faut changer pour que cela marche
UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + DCP.Qte FROM Tbl_StockPieceDetachee SPD INNER JOIN Tbl_DetailCmdPiece DCP ON SDP.IdPieceDetachee = DCP.IdPieceDetachee WHERE DCP.IdCmdPiece = @IdCmd
Suffit largement. Pas besoin de cursor ni d'exists, le code sera plus léger et plus performant.
Vérifier cepandant l'unicité de la pièces dans la table Tbl_DetailCmdPiece, sinon, faire un SUM(DCP.Qte).
A +
-- Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com ************************ www.datasapiens.com *************************
Etudiant a écrit:
bonsoir, je suis face a un probleme de mis a jour je dispose de 2 tables
Tbl_DetailCmd IdDetailCmd int IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere) IdPieceDetachee int Qte int 'nbre de piece detachee commande
Tbl_Stock IdStock int IdPieceDetachee int NbEnStock int
Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock.
CREATE PROCEDURE [SPUStockPiece]
@IdCmd int
AS
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece = @IdCmd) BEGIN UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + (SELECT Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee WHERE Tbl_DetailCmdPiece.IdPieceDetachee = Tbl_StockPieceDetachee.IdPieceDetachee) WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE IdCmdPiece = @IdCmd) END GO
elle me retourne une erreur en medisant qu'il selectionne trop de ligne, savez vous ce qu'il faut changer pour que cela marche
merci
Etudiant
merci beaucoup dire que ca faisiat une heure que je cherchais merci "Philippe T [MS]" a écrit dans le message de news:%23pBsdXf$
Bonjour,
Quelqeu chose du genre :
CREATE PROCEDURE [SPUStockPiece] ( @IdCmd int ) AS BEGIN IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece
> @IdCmd)
BEGIN
UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte FROM Tbl_StockPieceDetachee INNER JOIN Tbl_DetailCmdPiece ON Tbl_StockPieceDetachee.IdPieceDetachee Tbl_DetailCmdPiece.IdPieceDetachee WHERE IdCmdPiece = @IdCmd
END END GO
Phil. ________________________________________________________ Philippe TROTIN http://blogs.msdn.com/ptrotin Microsoft Services France http://www.microsoft.com/france
"Etudiant" wrote in message news:exhgSQa$ > bonsoir, je suis face a un probleme de mis a jour > je dispose de 2 tables > > Tbl_DetailCmd > IdDetailCmd int > IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere) > IdPieceDetachee int > Qte int 'nbre de piece detachee commande > > Tbl_Stock > IdStock int > IdPieceDetachee int > NbEnStock int > > Je souhaite faire une mis a jour sur le champ NbEnStock de la table
stock.
> > CREATE PROCEDURE [SPUStockPiece] > > @IdCmd int > > AS > > IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece > > @IdCmd) > BEGIN > UPDATE Tbl_StockPieceDetachee > SET NbEnStock = NbEnStock + (SELECT > Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee > WHERE Tbl_DetailCmdPiece.IdPieceDetachee > > Tbl_StockPieceDetachee.IdPieceDetachee) > WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT > Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE > IdCmdPiece = @IdCmd) > END > GO > > elle me retourne une erreur en medisant qu'il selectionne trop de ligne, > savez vous ce qu'il faut changer pour que cela marche > > merci
merci beaucoup dire que ca faisiat une heure que je cherchais
merci
"Philippe T [MS]" <ptrotin@online.microsoft.com> a écrit dans le message de
news:%23pBsdXf$EHA.1260@TK2MSFTNGP12.phx.gbl...
Bonjour,
Quelqeu chose du genre :
CREATE PROCEDURE [SPUStockPiece]
(
@IdCmd int
)
AS
BEGIN
IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece
> @IdCmd)
BEGIN
UPDATE Tbl_StockPieceDetachee
SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte
FROM Tbl_StockPieceDetachee
INNER JOIN Tbl_DetailCmdPiece ON
Tbl_StockPieceDetachee.IdPieceDetachee Tbl_DetailCmdPiece.IdPieceDetachee
WHERE IdCmdPiece = @IdCmd
END
END
GO
Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france
"Etudiant" <user@domain.invalid> wrote in message
news:exhgSQa$EHA.1296@TK2MSFTNGP10.phx.gbl...
> bonsoir, je suis face a un probleme de mis a jour
> je dispose de 2 tables
>
> Tbl_DetailCmd
> IdDetailCmd int
> IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere)
> IdPieceDetachee int
> Qte int 'nbre de piece detachee commande
>
> Tbl_Stock
> IdStock int
> IdPieceDetachee int
> NbEnStock int
>
> Je souhaite faire une mis a jour sur le champ NbEnStock de la table
stock.
>
> CREATE PROCEDURE [SPUStockPiece]
>
> @IdCmd int
>
> AS
>
> IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece > > @IdCmd)
> BEGIN
> UPDATE Tbl_StockPieceDetachee
> SET NbEnStock = NbEnStock + (SELECT
> Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee
> WHERE Tbl_DetailCmdPiece.IdPieceDetachee > > Tbl_StockPieceDetachee.IdPieceDetachee)
> WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT
> Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE
> IdCmdPiece = @IdCmd)
> END
> GO
>
> elle me retourne une erreur en medisant qu'il selectionne trop de ligne,
> savez vous ce qu'il faut changer pour que cela marche
>
> merci
merci beaucoup dire que ca faisiat une heure que je cherchais merci "Philippe T [MS]" a écrit dans le message de news:%23pBsdXf$
Bonjour,
Quelqeu chose du genre :
CREATE PROCEDURE [SPUStockPiece] ( @IdCmd int ) AS BEGIN IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece
> @IdCmd)
BEGIN
UPDATE Tbl_StockPieceDetachee SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte FROM Tbl_StockPieceDetachee INNER JOIN Tbl_DetailCmdPiece ON Tbl_StockPieceDetachee.IdPieceDetachee Tbl_DetailCmdPiece.IdPieceDetachee WHERE IdCmdPiece = @IdCmd
END END GO
Phil. ________________________________________________________ Philippe TROTIN http://blogs.msdn.com/ptrotin Microsoft Services France http://www.microsoft.com/france
"Etudiant" wrote in message news:exhgSQa$ > bonsoir, je suis face a un probleme de mis a jour > je dispose de 2 tables > > Tbl_DetailCmd > IdDetailCmd int > IdCmd int 'Le detail est lie a une commande par cette id (Cle etrangere) > IdPieceDetachee int > Qte int 'nbre de piece detachee commande > > Tbl_Stock > IdStock int > IdPieceDetachee int > NbEnStock int > > Je souhaite faire une mis a jour sur le champ NbEnStock de la table
stock.
> > CREATE PROCEDURE [SPUStockPiece] > > @IdCmd int > > AS > > IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece > > @IdCmd) > BEGIN > UPDATE Tbl_StockPieceDetachee > SET NbEnStock = NbEnStock + (SELECT > Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee > WHERE Tbl_DetailCmdPiece.IdPieceDetachee > > Tbl_StockPieceDetachee.IdPieceDetachee) > WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT > Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE > IdCmdPiece = @IdCmd) > END > GO > > elle me retourne une erreur en medisant qu'il selectionne trop de ligne, > savez vous ce qu'il faut changer pour que cela marche > > merci
Philippe T [MS]
Bonjour,
Pas de problème. C'est toujours un plaisir d'avoir quelqu'un de satisfait !!! :-)
Phil. ________________________________________________________ Philippe TROTIN http://blogs.msdn.com/ptrotin Microsoft Services France http://www.microsoft.com/france
"Etudiant" wrote in message news:OQSWOxf$
merci beaucoup dire que ca faisiat une heure que je cherchais merci "Philippe T [MS]" a écrit dans le message
de
news:%23pBsdXf$ > Bonjour, > > Quelqeu chose du genre : > > CREATE PROCEDURE [SPUStockPiece] > ( > @IdCmd int > ) > AS > BEGIN > IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE
IdCmdPiece
> > @IdCmd) > BEGIN > > UPDATE Tbl_StockPieceDetachee > SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte > FROM Tbl_StockPieceDetachee > INNER JOIN Tbl_DetailCmdPiece ON > Tbl_StockPieceDetachee.IdPieceDetachee > Tbl_DetailCmdPiece.IdPieceDetachee > WHERE IdCmdPiece = @IdCmd > > END > END > GO > > > Phil. > ________________________________________________________ > Philippe TROTIN http://blogs.msdn.com/ptrotin > Microsoft Services France http://www.microsoft.com/france > > "Etudiant" wrote in message > news:exhgSQa$ > > bonsoir, je suis face a un probleme de mis a jour > > je dispose de 2 tables > > > > Tbl_DetailCmd > > IdDetailCmd int > > IdCmd int 'Le detail est lie a une commande par cette id (Cle
etrangere)
> > IdPieceDetachee int > > Qte int 'nbre de piece detachee commande > > > > Tbl_Stock > > IdStock int > > IdPieceDetachee int > > NbEnStock int > > > > Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock. > > > > CREATE PROCEDURE [SPUStockPiece] > > > > @IdCmd int > > > > AS > > > > IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece
> > > @IdCmd)
> > BEGIN > > UPDATE Tbl_StockPieceDetachee > > SET NbEnStock = NbEnStock + (SELECT > > Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee > > WHERE Tbl_DetailCmdPiece.IdPieceDetachee > > > Tbl_StockPieceDetachee.IdPieceDetachee) > > WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT > > Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE > > IdCmdPiece = @IdCmd) > > END > > GO > > > > elle me retourne une erreur en medisant qu'il selectionne trop de
ligne,
> > savez vous ce qu'il faut changer pour que cela marche > > > > merci > >
Bonjour,
Pas de problème. C'est toujours un plaisir d'avoir quelqu'un de satisfait
!!! :-)
Phil.
________________________________________________________
Philippe TROTIN http://blogs.msdn.com/ptrotin
Microsoft Services France http://www.microsoft.com/france
"Etudiant" <ers@info.com> wrote in message
news:OQSWOxf$EHA.4092@TK2MSFTNGP09.phx.gbl...
merci beaucoup dire que ca faisiat une heure que je cherchais
merci
"Philippe T [MS]" <ptrotin@online.microsoft.com> a écrit dans le message
de
news:%23pBsdXf$EHA.1260@TK2MSFTNGP12.phx.gbl...
> Bonjour,
>
> Quelqeu chose du genre :
>
> CREATE PROCEDURE [SPUStockPiece]
> (
> @IdCmd int
> )
> AS
> BEGIN
> IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE
IdCmdPiece
> > @IdCmd)
> BEGIN
>
> UPDATE Tbl_StockPieceDetachee
> SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte
> FROM Tbl_StockPieceDetachee
> INNER JOIN Tbl_DetailCmdPiece ON
> Tbl_StockPieceDetachee.IdPieceDetachee > Tbl_DetailCmdPiece.IdPieceDetachee
> WHERE IdCmdPiece = @IdCmd
>
> END
> END
> GO
>
>
> Phil.
> ________________________________________________________
> Philippe TROTIN http://blogs.msdn.com/ptrotin
> Microsoft Services France http://www.microsoft.com/france
>
> "Etudiant" <user@domain.invalid> wrote in message
> news:exhgSQa$EHA.1296@TK2MSFTNGP10.phx.gbl...
> > bonsoir, je suis face a un probleme de mis a jour
> > je dispose de 2 tables
> >
> > Tbl_DetailCmd
> > IdDetailCmd int
> > IdCmd int 'Le detail est lie a une commande par cette id (Cle
etrangere)
> > IdPieceDetachee int
> > Qte int 'nbre de piece detachee commande
> >
> > Tbl_Stock
> > IdStock int
> > IdPieceDetachee int
> > NbEnStock int
> >
> > Je souhaite faire une mis a jour sur le champ NbEnStock de la table
stock.
> >
> > CREATE PROCEDURE [SPUStockPiece]
> >
> > @IdCmd int
> >
> > AS
> >
> > IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece
> > > @IdCmd)
> > BEGIN
> > UPDATE Tbl_StockPieceDetachee
> > SET NbEnStock = NbEnStock + (SELECT
> > Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee
> > WHERE Tbl_DetailCmdPiece.IdPieceDetachee > > > Tbl_StockPieceDetachee.IdPieceDetachee)
> > WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT
> > Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE
> > IdCmdPiece = @IdCmd)
> > END
> > GO
> >
> > elle me retourne une erreur en medisant qu'il selectionne trop de
ligne,
> > savez vous ce qu'il faut changer pour que cela marche
> >
> > merci
>
>
Pas de problème. C'est toujours un plaisir d'avoir quelqu'un de satisfait !!! :-)
Phil. ________________________________________________________ Philippe TROTIN http://blogs.msdn.com/ptrotin Microsoft Services France http://www.microsoft.com/france
"Etudiant" wrote in message news:OQSWOxf$
merci beaucoup dire que ca faisiat une heure que je cherchais merci "Philippe T [MS]" a écrit dans le message
de
news:%23pBsdXf$ > Bonjour, > > Quelqeu chose du genre : > > CREATE PROCEDURE [SPUStockPiece] > ( > @IdCmd int > ) > AS > BEGIN > IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE
IdCmdPiece
> > @IdCmd) > BEGIN > > UPDATE Tbl_StockPieceDetachee > SET NbEnStock = NbEnStock + Tbl_DetailCmdPiece.Qte > FROM Tbl_StockPieceDetachee > INNER JOIN Tbl_DetailCmdPiece ON > Tbl_StockPieceDetachee.IdPieceDetachee > Tbl_DetailCmdPiece.IdPieceDetachee > WHERE IdCmdPiece = @IdCmd > > END > END > GO > > > Phil. > ________________________________________________________ > Philippe TROTIN http://blogs.msdn.com/ptrotin > Microsoft Services France http://www.microsoft.com/france > > "Etudiant" wrote in message > news:exhgSQa$ > > bonsoir, je suis face a un probleme de mis a jour > > je dispose de 2 tables > > > > Tbl_DetailCmd > > IdDetailCmd int > > IdCmd int 'Le detail est lie a une commande par cette id (Cle
etrangere)
> > IdPieceDetachee int > > Qte int 'nbre de piece detachee commande > > > > Tbl_Stock > > IdStock int > > IdPieceDetachee int > > NbEnStock int > > > > Je souhaite faire une mis a jour sur le champ NbEnStock de la table stock. > > > > CREATE PROCEDURE [SPUStockPiece] > > > > @IdCmd int > > > > AS > > > > IF EXISTS (SELECT IdCmdPiece FROM Tbl_DetailCmdPiece WHERE IdCmdPiece
> > > @IdCmd)
> > BEGIN > > UPDATE Tbl_StockPieceDetachee > > SET NbEnStock = NbEnStock + (SELECT > > Tbl_DetailCmdPiece.Qte FROM Tbl_DetailCmdPiece,Tbl_StockPieceDetachee > > WHERE Tbl_DetailCmdPiece.IdPieceDetachee > > > Tbl_StockPieceDetachee.IdPieceDetachee) > > WHERE Tbl_StockPieceDetachee.IdPieceDetachee = (SELECT > > Tbl_DetailCmdPiece.IdPieceDetachee FROM Tbl_DetailCmdPiece WHERE > > IdCmdPiece = @IdCmd) > > END > > GO > > > > elle me retourne une erreur en medisant qu'il selectionne trop de
ligne,
> > savez vous ce qu'il faut changer pour que cela marche > > > > merci > >