mshd.net
当前位置:首页 >> orAClE存储过程如何返回一个结果集,一定要用rEF C... >>

orAClE存储过程如何返回一个结果集,一定要用rEF C...

--1.存储过程 create or replace procedure print(msg varchar2) is begin dbms_output.put_line(msg); end; --1.1 调用存储过程 execute print('helloworld');

目测你用的应该是asp, 如果从oracle取数据,一般都是用sql查询 然后rs=stmt.execute(sql) 在rs.next()后的循环中通过rs("列名")取数据

能的,你只要把参数改一下

解决方案: 在声明之后添加 RESULT SETS 1,表示返回一个结果集,示例如下: CREATE PROCEDURE YOUPRO(IN P_UserId INTEGER) LANGUAGE SQL RESULT SETS 1

过程返回记录集: 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...

不能那样写,但是可以这样写 cursor xx is SELECT case a when 1 then t1.field1, t1.field2, t1.field3...t1.fieldn when 2 then t2.field1, t2.field2, t2.field3...t2.fieldn ELSE NULL END FROM table1 t1, table2 t2

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...

我刚做的,参考下: SQL> CREATE GLOBAL TEMPORARY TABLE REPROTTEST( 2 ID NUMBER, 3 ANAME VARCHAR2(20) 4 ) ON COMMIT DELETE ROWS;(也可以用PRESERVER ROWS,看实际需求) Table created SQL> create or replace procedure report_month_re...

当然可以,示例: --创建procedurecreate or replace procedure sql_test(out_return out sys_refcursor) isbegin open out_return for 'select * from tgp_funds';end;

整张表,用游标循环输出吧。 dept表有三个字段(deptno,dname,loc) create or replace procedure p_1 as begin declare cursor cursor_dept is select * from scott.dept; row_dept scott.dept%rowtype; begin for row_dept in cursor_dept loo...

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