显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沧海,桑田,一念之间!

The future is in your hands!还有什么比坚持更重要!

 
 
 
 
 
 

四川省 成都市

 发消息  写留言

 
一个有着狂野的梦想的人! 理想的现实派,现实的理想主义者! 喜欢计算机,新技术。
 
近期心愿努力追赶自己的理想,然后成功实现。
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
模块内容加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 

访问分布

 
 
模块内容加载中...
 
 
 
 
 

test

 
 
模块内容加载中...
 
 
 
 
 
 
 
 

pipeline 异步输出

2014-2-24 11:26:50 阅读459 评论0 242014/02 Feb24

之前在dbms_application_info的应用 提到,可以通过异步方式来展示处理进度。这里就将使用pipeline异步输出显示处理进度做一个简单的示例。

create or replace type MsgType as table of varchar2(4000);
/


CREATE OR REPLACE function ZX_LXJ_TEST_pipeline
return msgtype
pipelined
IS
pragma autonomous_transaction;
v_id mytype.goodsid;
v_goodsname mytype.goodsname;
v_num number(10);
v_start_time pls_integer;
BEGIN

作者  | 2014-2-24 11:26:50 | 阅读(459) |评论(0) | 阅读全文>>

dbms_application_info的应用

2014-2-24 10:49:23 阅读640 评论0 242014/02 Feb24

在处理大量数据的时候,我们有时候希望能看到处理进度,以便了解具体还有多久能执行完成。
通过异步打印进度能完成这个任务。不过这里主要介绍dbms_application_info包,使用它来对会话信息进行一些设置,然后从会话信息中了解到执行进度。

dbms_application_info包主要用于读取或者设置会话的信息。比如:客户端信息、模块信息、执行的动作等。

具体看来示例:

CREATE OR REPLACE PROCEDURE ZX_LXJ_TEST
IS
v_id mytype.goodsid;
v_goodsname mytype.goodsname;
v_num number(10);

作者  | 2014-2-24 10:49:23 | 阅读(640) |评论(0) | 阅读全文>>

Oracle 存储过程中获取当前的sid

2014-2-24 10:36:45 阅读624 评论0 242014/02 Feb24

一般情况下,我们需要获取当前sid时,只需要在sqlplus中执行:

select sid from v$mystat where rownum = 1;

但是,在存储过程中,并不允许这么操作。
如果想要在存储过程中获取当前的sid,则需要这样写:

create procedure t1_proc is
l_sid number;
l_serial number;
begin
select sid,serial# into l_sid,l_serial from sys.v_$session where audsid = userenv('sessionid');

作者  | 2014-2-24 10:36:45 | 阅读(624) |评论(0) | 阅读全文>>

用subtype来简化后期维护

2014-2-24 9:32:05 阅读436 评论0 242014/02 Feb24

通常在写PL/SQL程序的时候,会涉及到很多变量的定义。比如A程序和B程序都定义了goodsname。随着程序编写时间的推移,可能A程序定义的是

goodsname  varchar2(100)

而B程序定义的是

goodsname 

作者  | 2014-2-24 9:32:05 | 阅读(436) |评论(0) | 阅读全文>>

dbms_errorlog的使用

2014-2-20 22:34:34 阅读436 评论0 202014/02 Feb20

在平常的dml处理中,容易遇到异常然后回滚整个事务。
在针对大批量数据处理的时候,如果希望能一次性处理尽可能多的数据,而不是一旦遇到异常就回滚退出,然后下次继续从头开始,那么使用dmbs_errorlog来记录异常是一个很好的选择。dbms_errlog不仅记录异常,而且能让整个事务跳过异常部分,继续处理后续数据。

下面是一个简单的示例。

--创建测试表


create table zx_lxj_tmp_aa(

作者  | 2014-2-20 22:34:34 | 阅读(436) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017

注册 登录  
 加关注