如何在Oracle中复制表结构和表数据
1. 复制表结构及其数据:
create table table_name_new as select * from table_name_old
2. 只复制表结构:
create table table_name_new as select * from table_name_old where 1=2;
或者:
create table table_name_new like table_name_old
3. 只复制表数据:
如果两个表结构一样:
insert into table_name_new select * from table_name_old
如果两个表结构不一样:
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
相关文档:
在相同操作系统环境下,相同版本Oracle数据库的迁移比较简单。
大致步骤:
1、确定源机的操作系统类型和版本,源机主机名;Oracle版本,安装目录,SID。
本例中,源机为: Win2k Adv, ywxt,Oracle v8.17, d:\oracle, orcl
目标机为:Win2003,ywxt,Oracle v8.17, d:\oracle, orcl
......
-----关于分组后字段拼接的问题
来自:www.itpub.net
最近在论坛上,经常会看到关于分组后字段拼接的问题,
大概是类似下列的情形:
SQL> select no,q from test
2 /
NO Q
---------- ------------------------------
001 n1
001 n2
001 n3
001 n4
001 n5
002 m1
003 t1
003 t2
003 t3
003 ......
全数据库备份建议用oracle自带的 exp命令。
导某张表的话,或者备份某个用户的信息,可以到
Tool-》export table 导表
Tool-》export user object 导用户的数据。
-----------------------------------------------------------------------------------------
在oracle中,执行sql文件,可以写一个批处理文件
sqlplus& ......
create or replace procedure proc_test
( a in number, b out number )
as
begin
b:=a+1;
end proc_test;
现在要调用的话就是这样
SQL> c number;
SQL>exec proc_test(1,:c);
千万要注意别忘了写冒号 ......
我觉得主要应该从5个方面进行调整:
1.去掉不必要的大型表的全表扫描
2.缓存小型表的全表扫描
3.检验优化索引的使用
4.检验优化的连接技术
5.尽可能减少执行计划的Cost
现在简单的举几个例子
Where子句中有“!=”将不使用索引
select account_name from test where amount != 0 (不使用)
......