首页 > 解决方案 > 是否可以在 Oracle SQL 中自动创建触发器?

问题描述

是否可以在 Oracle SQL 中自动创建触发器,例如drop table运行命令时,不必重新创建所有触发器?我没有在网上找到任何东西来解决这个问题。提前感谢您的回答

标签: sqloracleoracle11g

解决方案


简单地说,没有。当一个表被删除时,与它相关的所有东西都会消失,包括所有的索引、触发器等。如果然后重新创建表,则必须重新创建所有触发器。这是硬连接到数据库中的,并且没有 DDL 语句DROP TABLE XYZ123 EXCEPT FOR ALL THE TRIGGERS WHICH YOU CAN JUST LEAVE FLOATING AROUND IN SPACE UNTIL AND IF THE TABLE IS RECREATED;

正如其他人所提到的,您可能需要考虑使用TRUNCATE TABLE,它会清除数据但保持其他所有内容不变。另一种选择是使用全局临时表 -请参阅 Oracle-Base 上的这篇文章


推荐阅读