Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Debugging a WHILE EXISTS
Message
 
 
À
01/11/2008 17:07:46
Information générale
Forum:
Microsoft SQL Server
Catégorie:
Stored procedures, Triggers, UDFs
Versions des environnements
SQL Server:
SQL Server 2005
Divers
Thread ID:
01358902
Message ID:
01358910
Vues:
29
This message has been marked as a message which has helped to the initial question of the thread.
The EXISTS operator only checks if there are any records for specified conditions. It cannot return data. I'm not sure why do you need loop in the first place. Try
UPDATE r SET NoField = f.Numero 
	FROM Relation r 
JOIN Field f ON r.Field = f.Field

UPDATE r SET NoField2 = f.Numero 
	FROM Relation r 
JOIN Field f ON r.Field2 = f.Field
>I am trying to debug the following script:
>
>
>
>DECLARE @lcField Char(40)
>DECLARE @lcField2 Char(40)
>DECLARE @lnNumero Integer
>DECLARE @lnNumero2 Integer
>
>WHILE EXISTS (SELECT @lnNumero=Numero,@lcField=Field,@lcField2=Field2 FROM Relation)
>BEGIN
>   PRINT 'Update Relation '+@lnNumero+'.'
>
>   SELECT @lnNumero2=Numero FROM Field WHERE Field=@lcField
>
>   UPDATE Relation SET NoField=@lnNumero2 WHERE Numero=@lnNumero
>
>   SELECT @lnNumero2=Numero FROM Field WHERE Field=@lcField2
>
>   UPDATE Relation SET NoField2=@lnNumero2 WHERE Numero=@lnNumero
>
>END
>
>
>On the WHILE EXISTS line, there is an error:
>
>"Incorrect syntax near '='."
>
>If I execute the SQL by itself, it works. So, it is a syntax problem with the use of WHILE EXISTS. Anyone would know what has to be adjusted?
--sb--
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform