492 messaggi dal 08 gennaio 2007
Ciao, a me il generatore di query mi ha suggerito la sintassi seguente, magari provala:
UPDATE [tincarico] SET [CLIENTE] = @cliente,[EMAIL] = @email, [DATTIVAZIONE] = @dattivazione, [TECNICO] = @tecnico WHERE [ID] = @id and [CLIENTE] NOT LIKE '%' + @cliente + '%'
13 messaggi dal 24 marzo 2006
Ciao,
se ho capito bene e vuoi evitare di aggiornare la riga inserendo un cliente già presente penso che la sintassi corretta sia la seguente:

UPDATE [tincarico] 
SET [CLIENTE] = @cliente,[EMAIL] = @email, [DATTIVAZIONE] = @dattivazione, [TECNICO] = @tecnico 
WHERE [ID] = @id 
and @cliente NOT IN ( SELECT DISTINCT CLIENTE FROM [tincarico] WHERE ID <> @id )


La NOT IN ti assicura che il valore @cliente non sia già presente nella tabella in altri record (la WHERE ID <> @id è necessaria per escludere dall'elenco il record che stai aggiornando, altrimenti non potresti mai aggiornare gli altri campi senza cambiare il CLIENTE)

Comunque la cosa più corretta sarebbe definire un vincolo di chiave univoca sul database, così saresti sicuro di non avere mai dati duplicati sul cliente.

Saluti
Roberto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.