易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE 游标和游标变量的区别

如何定义游标类型
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
声明游标变量
cursor_name ref_type_name;
从技术底层看,两者是相同的。普通plsql cursor在定义时是“静态”的。而Ref cursors可以动态打开。
例如下面例子:
Declare
type rc is ref cursor;
cursor c is select * from dual;
l_cursor rc;
begin
if ( to_char(sysdate,'dd') = 30 ) then
       open l_cursor for 'select * from emp';
elsif ( to_char(sysdate,'dd') = 29 ) then
       open l_cursor for select * from dept;
else
       open l_cursor for select * from dual;
end if;
open c;
end;
/
l          rc根据逻辑动态打开;而游标c定义好了只有就无法修改了。
l          ref cursor可以返回给客户端,cursor则不行。
l          cursor可以是全局的global ,ref cursor则必须定义在过程或函数中。
l          ref cursor可以在子程序间传递,cursor则不行。
l          cursor中定义的静态sql比ref cursor效率高,所以ref cursor通常用在向客户端返回结果集。


相关文档:

oracle 排序内存

我在http://zhidao.baidu.com/question/123262452.html?fr=msg 提的问题,整理到这里 非常感谢 zjwssg
的回答
排序内存涉及到PGA。
什么时候使用自动PGA内存管理?什么时候使用手动PGA内存管理?
  白天系统正常运行时适合使用自动PGA内存管理,让Oracle根据当前负载自动管理、分配PGA内存。
  夜里用户数 ......

使用Oracle发送邮件

CREATE OR REPLACE PROCEDURE sendemailtest
(mailmsg IN Varchar2)
IS    
   --using mail server to send email.
   mailconn         UTL_SMTP.connection;
   mailhost       & ......

DML Error Logging in Oracle 10g

DML Error Logging in Oracle 10g
主要在于使用DBMS_ERRLOG.create_error_log 这个包来跟踪dml错误信息
SQL> CREATE TABLE source (
2 id NUMBER(10) NOT NULL,
3 code VARCHAR2(10),
4 description VARCHAR2(50),
5 CONSTRAINT source_pk PRIMARY KEY (id)
6 );
表已创建。
SQL> DECLARE
2 TYPE t_tab IS ......

Oracle主键自动增长

Oracle主键自动增长
这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下:
create table simon_example
(
  id number(4) not null primary key,
  name varchar2(25)
)
-- 建立序列:
-- Create sequence
create sequence SIMON_SEQUENCE        &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号