输入代码以在SQL ORACLE中创建新表后,如果我要退出SQL会话,是否会保存更改?
答案 0 :(得分:7)
是的,您的表定义已保存; Oracle DDL有一个隐式事务*。其他数据库,如PostrgreSQL,确实有transactional DDL,但对于Oracle,它是自动的,所以要小心。
* Oracle Transaction Management:如果当前事务包含任何DML语句,Oracle首先提交事务,然后运行并将DDL语句作为新的单语句事务提交。
答案 1 :(得分:4)
正确答案是Oracle DDL使用隐式事务 - 事务没有机会返回,它立即被提交。
答案 2 :(得分:1)
简而言之,“是”。 DDL语句在执行后立即提交。如果您的脚本还包含INSERT语句来填充这些表,那么如果没有自己的提交就不会保存这些表。
答案 3 :(得分:0)