2

RENTALLINE_1 の RENTALLINE_ID から行を削除し、RENTAL_1 から RENTAL_ID を削除する方法を見つけるのに苦労しています。削除したい正確な値を見つける select ステートメントがあります。3 年以上前のレコードが検索されます。コマンド ライン インターフェイスで SQLPlus を使用しています。

select rentalline_1.rentalline_ID,
       rentalline_1.tool_store_id,
       rentalline_1.rental_id,
       rentalline_1.qty,
       rental_1.datein
from rental_1
  inner join rentalline_1 on rental_1.rental_id = rentalline_1.rental_id
where MONTHS_BETWEEN (SYSDATE, DATEIN) > (36)

助けてくれてありがとう!

4

2 に答える 2

1

データベースに制約を追加できますか? 次のような外部キー制約がある場合:

ALTER TABLE rentalline_1 ADD CONSTRAINT fk_rental FOREIGN KEY (rental_id) REFERENCES rental_1 (rental_id) ON DELETE CASCADE;

rental_1テーブル内の行を削除すると、対応する行がrentalline_1自動的に削除されます。

于 2012-11-25T12:34:32.973 に答える
0

ここではOracleデータベースでテストできませんが、期待できます

DELETE rental_1, rentalline_1
from rental_1
  inner join rentalline_1 on rental_1.rental_id = rentalline_1.rental_id
where MONTHS_BETWEEN (SYSDATE, DATEIN) > (36)

また、スイングを与えることもできます

DELETE from
( SELECT * 
from rental_1
  inner join rentalline_1 on rental_1.rental_id = rentalline_1.rental_id
where MONTHS_BETWEEN (SYSDATE, DATEIN) > (36) )
于 2012-11-25T12:26:37.743 に答える