用oracle的存储过程返回一个查询的结果集

徒步-天下 2009-07-21 12:20:35
再sql中

Create procedure getall
select * from table1.

在Oracle中怎么写
请各位指教,能写全最好。
谢谢

...全文
25821 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
csuxp2008 2009-07-23
  • 打赏
  • 举报
回复
1.如果是在pl/sql块中,实现方法如3楼
2.如果是在sql*plus环境下,就如8楼
wangsong145 2009-07-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 wuchanghao112215 的回复:]
再sql中
SQL codeCreateprocedure getallselect*from table1.
在Oracle中怎么写
请各位指教,能写全最好。
谢谢


[/Quote]
create procedure p(my_cur out sys_refcursor) as
begin
open my_cur for
select * from emp;
end;
rockywu 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 quiettown 的回复:]
简单一点吧
SQL codecreateorreplaceprocedure p_test(p_cur out sys_refcursor)asbeginopen p_curforselect*from emp;end p_test;
[/Quote]
不错...这样最方便不过了
quiettown 2009-07-21
  • 打赏
  • 举报
回复
简单一点吧

create or replace procedure p_test(p_cur out sys_refcursor)
as
begin
open p_cur for select * from emp;
end p_test;
robin_ares 2009-07-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jane_64 的回复:]
create or replace Package SYSBasic
as
  type cc_cursor is ref cursor;
end SYSBasic;

CREATE OR REPLACE PROCEDURE getall(
    c_CurSor OUT SYSBASIC.cc_CURSOR  --光标结果
)
begin
  open c_CurSor For
    select * from table1;
end getall;


[/Quote]
up

test_cur SYSBASIC.cc_CURSOR ;
getall(test_cur );
这时就有值了
Jane_64 2009-07-21
  • 打赏
  • 举报
回复
create or replace Package SYSBasic
as
type cc_cursor is ref cursor;
end SYSBasic;

CREATE OR REPLACE PROCEDURE getall(
c_CurSor OUT SYSBASIC.cc_CURSOR --光标结果
)
begin
open c_CurSor For
select * from table1;
end getall;

徒步-天下 2009-07-21
  • 打赏
  • 举报
回复
各位高手来指教下,急着用。非常感谢
xiesongque 2009-07-21
  • 打赏
  • 举报
回复
测试4楼8楼的,运行成功!学习!!!
阿三 2009-07-21
  • 打赏
  • 举报
回复
http://space.itpub.net/67668/viewspace-604908
看看这个
徒步-天下 2009-07-21
  • 打赏
  • 举报
回复
自己顶下
quiettown 2009-07-21
  • 打赏
  • 举报
回复
set serverout on
徒步-天下 2009-07-21
  • 打赏
  • 举报
回复
declare 
test_cur SYSBASIC.cc_CURSOR;
bm SSFJ.BM%TYPE;
mc SSFJ.MC%TYPE;
begin
getfj(test_cur);
loop
fetch test_cur into bm,mc;
exit when test_cur%notfound;
dbms_output.put_line('编码:'||bm);
end loop;
end;

是这样吗?这样只显示anonymous block completed
我是菜鸟什么都不懂请指教
suncrafted 2009-07-21
  • 打赏
  • 举报
回复
在sqlplus界面:
1、var r refcursor;
2、exec p_test(:r);
3、print r;
Jane_64 2009-07-21
  • 打赏
  • 举报
回复
3楼说了啊
徒步-天下 2009-07-21
  • 打赏
  • 举报
回复
那请问,怎样运行查看结果
内容概要:本文围绕“【SCUC】N-1故障+安全约束机组组合研究(Matlab代码实现)”展开,系统探讨电力系统在N-1故障场景下的安全约束机组组合(SCUC)问题,旨在实现系统安全性与运行经济性的协同优化。研究通过构建包含机组启停、出力计划、潮流约束、备用容量及N-1安全准则的数学模型,结合混合整数线性规划等优化算法,利用Matlab平台完成仿真求解,并引入YALMIP等建模工具提升建模效率。文档提供了完整的代码实现方案与测试案例,涵盖故障的生成与处理方法,帮助用户掌握鲁棒性和分布鲁棒优化的基本思想,适用于电力系统安全校核与调度决策支持。; 适合人群:电力系统及相关专业的研究生、从事电力调度、能源优化的科研人员及工程技术人员。; 使用场景及目标:① 掌握N-1安全准则在机组组合中的建模方法与实现流程;② 开展安全约束机组组合(SCUC)与安全约束经济调度(SCED)的仿真分析;③ 利用Matlab/YALMIP快速搭建电力系统优化模型并进行求解与验证。; 阅读建议:建议读者结合文档内容与网盘提供的完整资源(含代码与数据),动手实践建模与调试过程,重点关注约束条件的设定、故障场景的枚举与处理策略,同时参考相关文献深化对鲁棒优化与分布鲁棒方法的理解。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧