oracle中的数据是怎么导入的
我给你一些数据库常用的导入导出命令吧:\x0d\x0a该命令在“开始菜单运行CMD”中执行\x0d\x0a一、数据导出(exp.exe)\x0d\x0a1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、将数据库orcl中scott用户的对象导出\x0d\x0aexp scott/accp@orcl file=d:\daochu.dmp owner=(scott)\x0d\x0a\x0d\x0a3、将数据库orcl中的scott用户的表emp、dept导出\x0d\x0aexp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)\x0d\x0a\x0d\x0a4、将数据库orcl中的表空间testSpace导出\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)\x0d\x0a\x0d\x0a二、数据导入(imp.exe)\x0d\x0a1、将d:\daochu.dmp 中的数据导入 orcl数据库中。\x0d\x0aimp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、如果导入时,数据表已经存在,将报错,对该表不会进行导入;加上ignore=y即可,表示忽略现有表,在现有表上追加记录。\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y\x0d\x0a\x0d\x0a3、将d:\daochu.dmp中的表emp导入\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp tables=(emp)
创新互联长期为千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为海淀企业提供专业的成都网站制作、做网站,海淀网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
如何在PB中执行oracle存储过程并接收返回的数据集
返回一个游标社!
有俩种方法:
一种是声明系统游标,一种是声明自定义游标,然后后面操作一样,参数类型为
in out 或out
(1)声明个人系统游标.(推荐)
create or replace p_temp_procedure
(
cur_arg out sys_refcursor; --方法1
)
begin
open cur_arg for select * from tablename;
end
调用
declare
cur_calling sys_refcursor;
begin
p_temp_procedure(cur_calling); --这样这个游标就有值了
for rec_next in cur_calling loop
....
end loop;
end;
(2)在包头中申明一个游表类型,然后调用者申明一个这个类型的游标变量,传给返回游标的存储过程 ,存储过程out这个结果集,这种方法很麻烦.游标类型不能像索引表一样使用create or replace type方法来创建,所以只能在包中申明,并且需要使用/来执行,后面的存储过程才认这个游标类型.(不推荐,但是建议要知道并且要会这种方式,毕竟它有它存在的道理)
--定义全局变量
create or replace package pkg_package
as
type type_cursor is ref cursor;
type type_record is record
(
test01 varchar2(32),
test02 varchar2(32),
test03 varchar2(32)
);
end;
/
--创建返回游标的存储过程
create or replace procedure p_temp_procedure
(
cur_out_arg out pkg_package.type_cursor
)
is
begin
open cur_out_arg for select * from test;
end;
/
--调用
declare
cur_out_arg pkg_package.type_cursor;
rec_arg pkg_package.type_record;
begin
p_temp_procedure(cur_out_arg);
fetch cur_out_arg into rec_arg;
dbms_output.put_line(rec_arg.test01);
dbms_output.put_line(rec_arg.test02);
dbms_output.put_line(rec_arg.test03);
end;
oracle如何读取数据
Oracle读取数据的最大限制取决于操作系统和Oracle对多块读IO的限制。在物理上来说,一个SQL语句要读取某个记录,必须将该记录读取到DB CACHE中,然后才能从DB CACHE中获取,这种访问我们一般称为物理读(READ),如果这个数据已经存在于DB CACHE中,那么前台进程可以直接从DB CACHE中读取数据,这样的读取成为逻辑读(GET),如果要读取的数据已经被修改,需要从UNDO中读取前映像来获取一致性的数据,那么会从UNDO中取出前映像,和当前的数据块一起形成一个一致性读块(CR BLOCK),然后再从CR BLOCK中读取数据,这种访问方式称为一致性读(CR GET)。 从逻辑上讲, Oracle读取数据通过三种途径:全表扫描( Full Table Sacn,FTS )、引扫描、通过ROWID直接访问。在阅读SQL执行计划的时候,可以通过 TABLE ACCESS子句来查看Oracle访问某个表的方法,一般来说,对于大型的表来说,如果出现 TABLE ACCESS FULL 的提示,是需要加以重视的,一般情况下,对于大表的全表扫描应该是尽量避免的。下面是一个简单的执行计划:Query Plan----------------------------------------- SELECT STATEMENT [CHOOSE] Cost=1234 TABLE ACCESS FULL LARGE [:Q65001] [ANALYZED]查看SQL的执行计划的时候,最右边的,最上面的操作是首先被执行的,上面的例子只有一个操作,就是对表“LARGE”进行全表扫描。当这个步骤执行完毕后,就会将结果集返回给上面一层的语句,上面的例子就是 SELECT STATEMENT 这个语句,一般来说 SELECT STATEMENT 是整个执行计划的顶层。 [CHOOSE]表明这个SQL语句的OPTIMIZER_GOAL ,在这个提示的右侧是COST数据,如果COST是有实际值的,那么说明使用了CBO优化器,如果COST没有实际值,那么说明使用了RBO优化器。比如: SELECT STATEMENT [CHOOSE] Cost=COST只是一个相对的值,只是优化器用来分析访问路径的优劣的,相同的SQL, COST越小的执行计划,起执行效果越好,开销越小。而不同的SQL ,其COST值是没有可比性的。 [:Q65001]指明这部分操作被采用并行查询的方式执行,
网站栏目:oracle如何接收数据,oracle导出用户数据
URL标题:http://scgulin.cn/article/hsgocg.html