0
我有3個表格,這些表格不是用ON DELETE CASCADE選項創建的,也不是創建它們的選項。用腳本刪除級聯
我可能需要從連續三個表中刪除。有沒有辦法做到這一點只使用promotion_id作爲重點?因爲我需要以相反的順序進行刪除,該promotion_id由時間,我得到的相關表不見了。
我在想,要做到這一點的唯一方法是使用JOIN到選擇3臺的鍵,然後分別使用它們。但是,如果有一個純粹的SQL解決方案,它會很好。
我使用JDBC,Spring和甲骨文。謝謝。
創建表test_rates( rate_id VARCHAR2(10)主鍵, 率數 );
create table test_offers (
offer_id varchar2(10) primary key ,
rate_id varchar2(10),
foreign key (rate_id) references test_rates (rate_id)
);
create table test_promotions (
promotion_id varchar2(10) primary key ,
offer_id varchar2(10),
foreign key (offer_id) references test_offers (offer_id)
);
insert into test_rates (rate_id,rate) values (1,199);
insert into test_offers (offer_id,rate_id) values (11,1);
insert into test_promotions (promotion_id,offer_id) values (21,11);
commit;
delete from test_promotions where promotion_id = 21;
delete from test_offers where offer_id in (select offer_id from test_promotions where promotion_id = 1); -- key is gone by now