CREATE PROCEDURE TEST
@nom varchar(35)
AS
DELETE from TABLE1 where NOM=@nom
go
INSERT INTO TABLE1 (NOM,ADR1,ADR1,CP,VILLE)
SELECT NOM,ADR1,ADR1,CP,VILLE FROM TABLE2 WHERE NOM=@nom
go
J'ai l'erreur 137. Peut-ont pas utiliser la variable deux fois ?
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
Rudi Bruchez
Ralf Meuser a écrit:
CREATE PROCEDURE TEST @nom varchar(35) AS DELETE from TABLE1 where NOM=@nom go INSERT INTO TABLE1 (NOM,ADR1,ADR1,CP,VILLE) SELECT NOM,ADR1,ADR1,CP,VILLE FROM TABLE2 WHERE NOM=@nom go
Bonjour,
GO n'est pas une instruction SQL, c'est un délimiteur du client (Query Analyzer), pour séparer les batches envoyés au serveur.
Moralité, jetez un oeil sur la procédure créée : elle ne fait que le DELETE, puisque le CREATE s'arrête au GO.
Ensuite, votre variable n'existe plus, elle est dans un sp déjà créée, et en plus dans un autre batch.
Bref, enlevez le GO après le DELETE
-- Rudi Bruchez, MCDBA http://www.babaluga.com/
Ralf Meuser a écrit:
CREATE PROCEDURE TEST
@nom varchar(35)
AS
DELETE from TABLE1 where NOM=@nom
go
INSERT INTO TABLE1 (NOM,ADR1,ADR1,CP,VILLE)
SELECT NOM,ADR1,ADR1,CP,VILLE FROM TABLE2 WHERE NOM=@nom
go
Bonjour,
GO n'est pas une instruction SQL, c'est un délimiteur du client (Query
Analyzer), pour séparer les batches envoyés au serveur.
Moralité, jetez un oeil sur la procédure créée : elle ne fait que le
DELETE, puisque le CREATE s'arrête au GO.
Ensuite, votre variable n'existe plus, elle est dans un sp déjà créée, et
en plus dans un autre batch.
CREATE PROCEDURE TEST @nom varchar(35) AS DELETE from TABLE1 where NOM=@nom go INSERT INTO TABLE1 (NOM,ADR1,ADR1,CP,VILLE) SELECT NOM,ADR1,ADR1,CP,VILLE FROM TABLE2 WHERE NOM=@nom go
Bonjour,
GO n'est pas une instruction SQL, c'est un délimiteur du client (Query Analyzer), pour séparer les batches envoyés au serveur.
Moralité, jetez un oeil sur la procédure créée : elle ne fait que le DELETE, puisque le CREATE s'arrête au GO.
Ensuite, votre variable n'existe plus, elle est dans un sp déjà créée, et en plus dans un autre batch.