>basta fare, prima dell'update:
>
>DECLARE @Counter int
>
>Select @Counter = COUNT(*)
>from tabella Where Codice=@Codice
>and Campo=@Campo
>
>IF @Counter > 0
>BEGIN
> UPDATE...
>END
Ciao Alx81,
l'operazione di COUNT(*) è estremamente onerosa per il dbengine, soprattutto nel caso in cui la tabella base contenga un numero elevato di righe dato che comporta un table scan.
In questi casi il metodo più efficiente consiste nell'utilizzo della funzione EXISTS() come nel seguente esempio:
IF NOT EXISTS(
SELECT *
FROM dbo.Tabella
WHERE Codice = @Codice
AND Campo = @Campo
)
BEGIN
UPDATE...
END
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org