使用内部联接sqlplus时删除
我一直在努力解决如何在RENTALLINE_1中删除RENTALLINE_ID中的行,然后从RENTALLINE_1中删除RENTALLINE_ID。我有一个select语句,它查找我要删除的确切值。它会查找超过3年的记录。我正在使用带有命令行界面的SQLPlus使用内部联接sqlplus时删除,sql,oracle,inner-join,sqlplus,Sql,Oracle,Inner Join,Sqlplus,我一直在努力解决如何在RENTALLINE_1中删除RENTALLINE_ID中的行,然后从RENTALLINE_1中删除RENTALLINE_ID。我有一个select语句,它查找我要删除的确切值。它会查找超过3年的记录。我正在使用带有命令行界面的SQLPlus select rentalline_1.rentalline_ID, rentalline_1.tool_store_id, rentalline_1.rental_id, rentallin
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)
提前感谢您的帮助 我无法在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) )
您可以向数据库添加约束吗?如果有外键约束,如:
ALTER TABLE rentalline_1 ADD CONSTRAINT fk_rental FOREIGN KEY (rental_id) REFERENCES rental_1 (rental_id) ON DELETE CASCADE;
然后删除
rentalline\u 1
表中的行将导致rentalline\u 1
中的相应行被自动删除。感谢您的回复,我在第1行“删除rentalline\u 1,rentalline\u 1”中收到错误“命令未正确结束”。你不知道为什么吗?谢谢你一开始误读了这篇文章,但我认为这会解决问题,因为我可以从出租表中删除,并错过使用我认为的内部连接?谢谢,谢谢你的回复,但我先尝试了下面的答案,但我相信你的答案也适用于任何有类似问题的人:)再次感谢