SQL - Aggiornamento di un campo di un file con il valore di un campo di un altro file

Il . Inserito in Informatica. Visite: 225

Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 

Anche questa volta il buon vecchio e caro SQL mi corre in aiuto. 

Ho un file di anagrafica clienti e un altro file che contiene un codice da riportare sul file clienti. I due archivi hanno in comune il codice cliente.

La prima alternativa sarebbe quella di aprire ogni singolo cliente e aggiornare il campo preposto con il relativo valore ma, essendoci più di 500 clienti, non mi sembra una soluzione molto performante.

Ma Santo SQL ci corre in aiuto e, con una sola e anche abbastanza banale istruzione, ci togliamo il doloroso dente. 

Eccola qui: 

UPDATE ANAGRACLI AS A 
SET ACFL01 = (SELECT CLNEGZ FROM NEGOZI AS B WHERE A.ACCUST = B.NGCUST)                                        
WHERE EXISTS(SELECT 1 FROM NEGOZI AS B WHERE A.ACCUST = B.NGCUST)

 

Da notare l'ultima riga nella quale va ripetuta la SELECT precedente, necessaria per evitare l'errore "Null values not allowed in column or variable".

Questo errore viene generato quando non ci sono corrispondenza tra i codici che legano i due file (Es: nel primo file esiste, nel secondo no). 

 

 

 

 

Tags: sql update where exixsts

Aggiungi commento


Codice di sicurezza
Aggiorna