Oracle存储过程,以游标的方式返回一个记录集
--创建一个包
create or replace package types
as
type cursorType is ref cursor;
end types;
--创建存储过程,游标类型返回参数
create or replace procedure SP_Fee_Instance(v_company in varchar, v_sdate in nvarchar2, v_edate in nvarchar2,p_cursor in out types.cursorType) is
-- vs_sql varchar2(2000);
--company varchar2(100); --公司编码
--start_date varchar2(10); --计划付款时间段[起]
--end_date varchar2(10); --计划付款时间段[止]
begin
IF NVL(v_company,' ') <> ' ' THEN
OPEN p_cursor FOR
select a.company,a.pact_name,a.pact_code,i.payment_date,sum(i.payment_fee) as payment_fee,i.payment_condition,i.payment_remark
from htgl_pact_apply a
inner join htgl_fee_instance i on a.apply_id = i.apply_id
where a.payment_status=2
and a.company = v_company
and i.payment_date between to_date(v_sdate,'YYYY-MM-DD') and to_date(v_edate,'YYYY-MM-DD')
group by a.company,a.pact_name,a.pact_code,i.payment_date,i.payment_condition,i.payment_remark;
null;
-- dbms_output.put_line(company);
--
相关文档:
sqlplus的配置文件为login.sql,通常如下所示创建该文件:
set serveroutput on size 1000000
set trimspool on --滤除spool输出的空白
set linesize 200 --用于设定每行显示的宽度
set pagesize 9999 --设置显示的页数
set sqlprompt '_user @ _connect_identifier> '
将该文件复制到Oracle安装目录C ......
最近在项目报表中需要一个查询语句,用来统计符合某一列条件的其它几列的个数
比如有下面一个表结构:
需要在列D后面增加一列,统计在列A不为空,并且列B、C、D不为空的个数
经过自己试验,查找帮助,总算实现了上面的查询。
&nb ......
·向密码文件中增加、删除用户:
当初始化参数REMOTE_LOGIN_PASSWORDFILE设置为EXCLUSIVE时,系统允许除INTERNAL/SYS以外的其他用户以管理员身份从远端或本机登录到Oracle数据库系统,执行数据库管理工作;这些用户名必须存在于密码文件中,系统才能识别他们。由于不管是在创建数据库实例时自动创建的密码文件, ......
The following are number examples for the to_char function.
to_char(1210.73, '9999.9')
would return '1210.7'
to_char(1210.73, '9,999.99')
would return '1,210.73'
to_char(1210.73, '$9,999.00')
would return '$1,210.73'
to_char(21, '000099')
would return '000021'
The following is a list ......