我想删除表中的所有数据行,但不删除表。 delete语句有一个where子句,所以我必须逐一给出每一行。是否有任何其他方式删除表中的整个数据行?如何在sqlplus oracle中删除表中的所有数据
这是Oracle
和使用sqlplus
我想删除表中的所有数据行,但不删除表。 delete语句有一个where子句,所以我必须逐一给出每一行。是否有任何其他方式删除表中的整个数据行?如何在sqlplus oracle中删除表中的所有数据
这是Oracle
和使用sqlplus
你放弃约束会更好然后使用截断命令,并在删除数据后再次应用约束。
你可以试试: TRUNCATE TABLE表名
Truncate Table tablename
http://www.orafaq.com/faq/difference_between_truncate_delete_and_drop_commands
您可以delete from tablename
也删除所有记录,但截断快得多
我刚刚发布此链接。 :-) – Klinger 2010-06-18 01:50:11
如何在我们有外键时截断。有人可以帮我 – Nubkadiya 2010-06-18 02:00:26
那么,这是不同的...... :-)应该在你原来的问题中提到。您将需要删除外键约束,然后执行删除/截断并将约束添加回去。 – klabranche 2010-06-18 02:04:25
尝试使用FORALL进行批量删除。在这种情况下,可以在一次删除事务中删除整行中的一行,而不是删除一行。
SQL中的WHERE子句是完全可选的。所以'删除mytable;'是完全有效的,并且可以工作。 – 2010-07-01 19:06:00