wzkl.net
当前位置:首页 >> orAClE存储过程结果集 >>

orAClE存储过程结果集

有俩种方法: 一种是声明系统游标,一种是声明自定义游标,然后后面操作一样,参数类型为 in out 或out (1)声明个人系统游标.(推荐) create or replace p_temp_procedure ( cur_arg out sys_refcursor; --方法1 ) begin open cur_arg for select * f...

如果你是使用PL/sql工具,在command 窗口下执行set serveroutput on 然后exec sp; 可以看到了 或者在sqlplus 中执行上面的代码

create or replace procedure p_cnt( p_time in varchar2,---查询的条件 p_cur out SYS_REFCURSOR)---游标返回 IS v_sql varchar2(1000) :=''; v_date varchar2(20); BEGIN v_date := replace(p_time, '-', '');---时间的格式转换 v_sql := 'sel...

这就用上了递归的思想,思路如下,没有你的数据如果有问题你调试下 V_SQL='select * from ( select REPLACE(SYS_CONNECT_BY_PATH(a,','),',') , LEVEL from ( SELECT OBJECT_ID || ''|''|| OBJECT_NAME || ''|''|| PHASE_ID || ''|''|| BUSI_TYP...

create or replace procedure test_procedure is --a表游标定义 cursor a_cursor is select id from a; --b表游标定义 cursor b_cursor(aid number) is select id from b where b.id = aid;begin for a_cur in a_cursor loop for b_cur in b_cur...

过程返回记录集: CREATE OR REPLACE PACKAGE pkg_test AS TYPE myrctype IS REF CURSOR; PROCEDURE get (p_id NUMBER, p_rc OUT myrctype); END pkg_test; / CREATE OR REPLACE PACKAGE BODY pkg_test AS PROCEDURE get (p_id NUMBER, p_rc OUT...

已经经过测试,可以。 create table test1023(id int); --创建测试表 test1023 declare cnt int; begin select count(*) into cnt from test1023; if cnt=0 then insert into test1023 values('1'); commit; end if; end;

create or replace procedure p_cnt( p_time in varchar2,---查询的条件 p_cur out SYS_REFCURSOR)---游标返回 IS v_sql varchar2(1000) :=''; v_date varchar2(20); BEGIN v_date := replace(p_time, '-', '');---时间的格式转换 v_sql := 'sel...

(一)存储过程(例:a表(字段有ano,aname,aage)) create or replace procedure test as begin cursor cursor_test is select * from a; row_test a%rowtype; begin for row_test in cursor_test loop dbms_output.put_line(row_test.ano||row_...

可以考虑插入一张临时表里,再去查就跟图一一样了,图二的那种输出可以加一些占位符格式化一下会美观些。 其实这些一般不会用到的,一般应用程序的前端会有专门程序做页面,这些不需要数据库负责的。

网站首页 | 网站地图
All rights reserved Powered by www.wzkl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com