Oracle测试存储过程两种方式
在初学Oracle时,写了一个存储过程,名称是:PROC_GET_BILL,三个参数,第1,3是in参数,第2是out参数,写完之后,想测一下,结果发现网上有多种方式(其重要是下面这两种,只是写法不同而已),刚开始把两种变量定义方式搞错了,一直执行不过,经慢慢尝试,得到了下面两种写法,希望像我这样初学者少走弯路,直接搞清两种方式(红色字体是注释)。
1.写法
var test1 VARCHAR2(2000);
var test2 VARCHAR2(10);
exec OUTER_SYSTEM_INTERFACE_PKG.PROC_GET_BILL('','',:test1,:test2);
select :test1 from dual;
OUTER_SYSTEM_INTERFACE_PKG(是Package)
2、写法
declare
o_result VARCHAR2(2000);
o_split_char VARCHAR2(10);
begin
CMCC.OUTER_SYSTEM_INTERFACE_PKG.PROC_GET_BILL('','', o_result, o_split_char);
dbms_output.put_line(o_result);
end;
CMCC(是DB名称)
相关文档:
oracle锁的排队机制:
请求锁定需要排队。如果某个会话请求一个锁定,但是由于其他会话已经锁定了指定记录或对象而无法获得所需的锁定,那么这个会话将会等待。此时,可能多个会话都在等待访问相同记录或对象,在这种情况下,ORACLE会跟踪这些会话请求锁定的顺序。
如果 ......
查看当前数据库归档日志操作模式:
select name,log_mode from v$database;
查看归档日志位置:
show parameter log_archive_dest; 第一个归档位置
show parameter log_archive_duplex_dest; 第二个归档位置
先关闭数据库,然后装载数据库:
shutdown immediate;
startup mount;
修改归档日志操作模式,然后打开数据库 ......
在plsql中,面向对象的程序设计是基于对象类型来完成的。对象类型是用户自定义的一种复合数据类型,它封装了数据结构和用于操纵这些数据结构的过程和函数,在建立复杂应用程序时,通过使用对象类型可以降低应用开发难度,进而提高应用开发的效率和速度。
对象类型包括对象类型规范(object type specification)和对象类型 ......
create or replace type mytype IS TABLE OF varchar2(20);
declare type1 mytype :=mytype('1','2','3','4');
i number:=1;
var_str varchar(20):='liaomin';
begin
type1.EXTEND;
type1(type1.COUNT):=var_str;
loop
dbms_output.put_line(type1(i));
i:=i+1;
exit when i=type1.count+1; ......