OVH Cloud OVH Cloud

2 requetes SELECT et UPDATE liés dans une PS?

2 réponses
Avatar
herve
Bonjour,
Je souhaite dans une procédure stockée faire automatiquement un UPDATE
après un SELECT. Est-ce possible uniquement avec requêtes ?
Merci d'avance
herve

ALTER PROCEDURE dbo.xPrat_Affic_EnrAleatoire
AS
SET NOCOUNT ON;
SELECT top 1 Contacts.Id_cont,Contacts.prenom,Contacts.Nom
FROM Contacts
INNER JOIN Cont_options_site ON Contacts.Id_cont = Cont_options_site.Id_cont
WHERE Cont_options_site.Nbr_affic_lien_acc>0
order by newid();

UPDATE Cont_options_site
SET Nbr_affic_lien_acc=Nbr_affic_lien_acc - 1
WHERE Id_cont=??

2 réponses

Avatar
bruno reiter [MVP]
peut-etre :

UPDATE Cont_options_site
SET Nbr_affic_lien_acc=Nbr_affic_lien_acc - 1
WHERE Id_cont=(SELECT top 1 Contacts.Id_cont
FROM Contacts
INNER JOIN Cont_options_site ON Contacts.Id_cont = Cont_options_site.Id_cont
WHERE Cont_options_site.Nbr_affic_lien_acc>0
order by newid())


br


"herve" wrote in message
news:
Bonjour,
Je souhaite dans une procédure stockée faire automatiquement un UPDATE
après un SELECT. Est-ce possible uniquement avec requêtes ?
Merci d'avance
herve

ALTER PROCEDURE dbo.xPrat_Affic_EnrAleatoire
AS
SET NOCOUNT ON;
SELECT top 1 Contacts.Id_cont,Contacts.prenom,Contacts.Nom
FROM Contacts
INNER JOIN Cont_options_site ON Contacts.Id_cont = Cont_options_site.Id_cont
WHERE Cont_options_site.Nbr_affic_lien_acc>0
order by newid();

UPDATE Cont_options_site
SET Nbr_affic_lien_acc=Nbr_affic_lien_acc - 1
WHERE Id_cont=??



Avatar
herve
Bonjour,
Non malheureusement celà ne fonctionne pas, je n'arrive même pas à
valider la modification.
Bon je crois qu'il va falloir que je fasse 2 ps distinctes.
a+
herve

bruno reiter [MVP] a écrit:
peut-etre :

UPDATE Cont_options_site
SET Nbr_affic_lien_acc=Nbr_affic_lien_acc - 1
WHERE Id_cont=(SELECT top 1 Contacts.Id_cont
FROM Contacts
INNER JOIN Cont_options_site ON Contacts.Id_cont = Cont_options_site.Id_cont
WHERE Cont_options_site.Nbr_affic_lien_acc>0
order by newid())


br






Bonjour,
Je souhaite dans une procédure stockée faire automatiquement un UPDATE
après un SELECT. Est-ce possible uniquement avec requêtes ?
Merci d'avance
herve

ALTER PROCEDURE dbo.xPrat_Affic_EnrAleatoire
AS
SET NOCOUNT ON;
SELECT top 1 Contacts.Id_cont,Contacts.prenom,Contacts.Nom
FROM Contacts
INNER JOIN Cont_options_site ON Contacts.Id_cont = Cont_options_site.Id_cont
WHERE Cont_options_site.Nbr_affic_lien_acc>0
order by newid();

UPDATE Cont_options_site
SET Nbr_affic_lien_acc=Nbr_affic_lien_acc - 1
WHERE Id_cont=??