我一直在努力弄清楚如何从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)
提前感谢您的帮助!
答案 0 :(得分: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
中的相应行自动删除。
答案 1 :(得分: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) )