在 SQL ORACLE 中输入代码创建新表后,如果我要退出 SQL 会话,是否会保存更改?
问问题
243 次
4 回答
7
是的,您的表定义已保存;Oracle DDL具有隐式事务*。其他数据库,如 PostrgreSQL,确实有事务 DDL,但使用 Oracle,它是自动的,所以要小心。
* Oracle 事务管理:如果当前事务包含任何DML语句,Oracle 首先提交事务,然后运行并提交 DDL 语句作为新的单语句事务。
于 2009-12-21T19:21:08.310 回答
4
正确的答案是 Oracle DDL 使用隐式事务 - 没有机会返回事务,它会立即提交。
于 2009-12-21T20:16:26.233 回答
1
简而言之,“是的”。DDL 语句在执行后立即提交。如果您的脚本还包括用于填充这些表的 INSERT 语句,那么如果没有自己的提交,这些将不会被保存。
于 2009-12-21T21:07:40.197 回答
0
嗯,什么?是的,对数据和表结构的所有更改都会立即保存(除非事务的一部分,它会等到事务结束才能永久保存)取决于您的会话的东西是会话变量和会话设置。
于 2009-12-21T19:22:09.167 回答