create table aaaa
as select * from bbbb;这样建表语句,如果表bbbb的数据量很大,会不会出现这样的情况:表建好了,但是由于某种原因操作终止而导致bbbb的数据没有完全插入到aaaa中?
也就是说
select * from bbbb;会有数据,但是不是aaaa中完整的数据。
as select * from bbbb;这样建表语句,如果表bbbb的数据量很大,会不会出现这样的情况:表建好了,但是由于某种原因操作终止而导致bbbb的数据没有完全插入到aaaa中?
也就是说
select * from bbbb;会有数据,但是不是aaaa中完整的数据。
解决方案 »
- 关于dmp文件导入不同字符集,中文数据出现乱码的问题
- 求写一个oracle函数。
- oracle reports builder哪位朋友用过.
- “企业版本40000美元每CPU,或者800美元每用户”是什么意思?
- 关于PL/SQL返回数组,VB用什么类型(急)
- SP2-0678: 列或属性类型无法通过 SQL*Plus 显示
- 求ORACLE8I的下载。。ORACLE的网站上只有9I 和10G ,谁知道那有下????
- 如何将一个字段中的中文和英文分开?(100分)
- Oracle9iAS安装问题!
- 各位大侠,VB+ORACLE或PB+ORACLE 怎么样不生成那个sqlnet.log文件呀,
- 视图错误
- oracle触发器错误
要么成功建立表,并拥有完整一致的数据,要么失败,全部回滚。不存在一个中间状态。
会的,
这个会。create table tablename
as
select * from tablename1;
相当于先创建一个table,然后执行insert;
由于create语句会自动提交,所以事务中断的话就不能回滚创建表的内容。
但,至于会不会出现一半的情况,就有待测试。
比如
create table t_test
as
select rownum rn from dual connect by rownum<100000000;
在执行中你对电脑shutdown abort,然后查看下表是否存在.
2 as
3 select rownum rn from dual connect by rownum<100000000;
create table t_test_create
as
select rownum rn from dual connect by rownum<100000000
ORA-03113: end-of-file on communication channel
--重启数据库
SQL> select * from t_test_create;
select * from t_test_create
ORA-00942: 表或视图不存在
SQL>
如果是先执行ddl去create table再insert.那么应该表存在但无法查询出数据.
应该没有中间状态的,它基本上还是一个DDL,要么建表成功,要么不成功。
看看这个,http://space.itpub.net/22034023/viewspace-666440