日期:2014-05-16  浏览次数:20477 次

Oracle-ddl相关命令
alter table 是ddl操作。
ddl操作隐含commit-不了解这一点,可能你下一次会在其它的类似alter index 。。。等语句上再次触雷。

--关闭某表上所有trriger
alter table table_name disable all triggers;

--开启某表上所有trriger
alter table table_name enable all triggers

If you need to bring a copy of the database from production to another environment, you may want to disable all the triggers for all tables. Here is a simple syntax you can use to accomplish this.

First you could specify the specific table(s) for which you want to disable triggers.
ALTER TABLE [dbo].[MyTable] DISABLE TRIGGER ALL

The re-enable all triggers just use this syntax.
ALTER TABLE [dbo].[MyTable] ENABLE TRIGGER ALL
Finally, if you don't want to specify the tables (perhaps because you have triggers on many tables) then just use sp_msforeachtable.
EXEC sp_msforeachtable "ALTER TABLE ? DISABLE TRIGGER ALL"
Share this Tidbit。