Bonjour,
J'ai une question SQL. Mon SGBD est oracle 10.
J'ai trois tables:
TABLE 1
TAB1_ID (primary key)
TAB1_CUSTOMER
TABLE 2
TAB2_ID (primary key)
FK_TAB3
TABLE 3
TAB3_ID (primary key)
KEY_TAB3
TAB3_CUSTOMER
Les jointures sont faites comme ca TAB1_ID=TAB2_ID et FK_TAB3=KEY_TAB3.
Je veux faire une update qui met les valeurs de TAB3_CUSTMONER dans TAB1_CUSTOMER avec les jointures.
J'ai pensé à ce genre de query:
update
(select tab3.TAB3_CUSTOMER,tab1.TAB1_CUSTOMER from TABLE_1 tab1,TABLE_2 tab2,TABLE_3 tab3 where tab3.KEY_TAB3=tab2.FK_TAB3 and tab1.TAB1_ID=tab2.TAB2_ID) updtab
set uptab.TAB1_CUSTOMER=uptab.TAB3_CUSTOMER;
J'ai cette erreur Oracle : ORA-01779: cannot modify a column which maps to a non key-preserved table
Quelqu'un a une idée de copmment faire cette requete SQL autrement?
Merci d'avance
Partager