`
panshaobinSB
  • 浏览: 198380 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle复制数据

 
阅读更多
利用select * from dba_sys_privs where grantee = 'SCOTT'看到SCOTT用户是
unlimited tablespace权限-------就是scott用户可以在其他表空间里随意创建表

select * from session_privs 查看当前用户的权限。

如果表空间不一样的话:
create table table_name tablespace tablespace_name as select * from table_name where

tablespace tablespace_name为新表的表空间

1)复制表,并把原表的 所有记录都复制到新表里。

         CREATE TABLE newTb AS SELECT * FROM oldTb

(2)只复制表结构,不复制数据到新表里。

          注:该语句无法复制关键值

         CREATE TABLE newTb AS SELECT * FROM oldTb WHERE 1=0


1.INSERT INTO SELECT语句

      语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

      要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。


2.SELECT INTO FROM语句

      语句形式为:SELECT vale1, value2 into Table2 from Table1

      要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics