mardi 21 février 2012

Update SQL entre 2 tables

Update simple d'un champ :
UPDATE TABLE1 SET CHAMP2='XYZ' WHERE CHAMP1=1
Update de plusieurs champs entre plusieurs tables de la même base:

UPDATE TABLE2
SET TABLE2.CHAMPS1=TABLE1.CHAMPS1
      , TABLE2.CHAMPS3=TABLE1.CHAMPS3
FROM TABLE1, TABLE2
WHERE TABLE2.CHAMPS2=TABLE1.CHAMPS2
AND TABLE2.CHAMPS1 IS NULL

Ou alors en préfixant les tables : 
UPDATE B
SET B.CHAMPS1=A.CHAMPS1
FROM TABLE1 A, TABLE2 B
WHERE B.CHAMPS2=A.CHAMPS2
AND B.CHAMPS1 IS NULL