ORACLE - 表格

时间:2009-12-21 19:17:31

标签: sql oracle ddl

输入代码以在SQL ORACLE中创建新表后,如果我要退出SQL会话,是否会保存更改?

4 个答案:

答案 0 :(得分:7)

是的,您的表定义已保存; Oracle DDL有一个隐式事务*。其他数据库,如PostrgreSQL,确实有transactional DDL,但对于Oracle,它是自动的,所以要小心。

* Oracle Transaction Management如果当前事务包含任何DML语句,Oracle首先提交事务,然后运行并将DDL语句作为新的单语句事务提交。

答案 1 :(得分:4)

正确答案是Oracle DDL使用隐式事务 - 事务没有机会返回,它立即被提交。

答案 2 :(得分:1)

简而言之,“是”。 DDL语句在执行后立即提交。如果您的脚本还包含INSERT语句来填充这些表,那么如果没有自己的提交就不会保存这些表。

答案 3 :(得分:0)

嗯,什么?是的,对数据和表结构的所有更改都会立即保存(除非事务的一部分等待,直到事务结束才能永久保存) 依赖于Session的事情是会话变量和会话设置。