Oracle 存储过程结果游标输出错误求高手指点
时间:2011-12-23
来源:互联网
Procedure Pro_Bandingcombobox(P_Tablename In Varchar2 --表名
,
P_Fieldname In Varchar2 --字段名
,
P_Dspage Out Ref_Cur) As
Sqlstr Varchar2(2000);
Begin
Sqlstr := 'select distinct ' || P_Fieldname || ' from ' || P_Tablename ||
' order by ' || P_Fieldname;
Open P_Dspage For Sqlstr;
End Pro_Bandingcombobox;
set serveroutput on;
DECLARE
P_TABLENAME VARCHAR2(200);
P_FIELDNAME VARCHAR2(200);
P_DSPAGE PKG_SCOS_BDMS.Ref_Cur;
BEGIN
P_TABLENAME := 'tb_airport';
P_FIELDNAME := 'airport_icao';
PKG_SCOS_BDMS.Pro_Bandingcombobox(
P_TABLENAME => P_TABLENAME,
P_FIELDNAME => P_FIELDNAME,
P_DSPAGE => P_DSPAGE
);
for rec_next in P_DSPAGE loop
DBMS_OUTPUT.PUT_LINE(rec_next);
end loop;
END;
--报错是for rec_next in P_DSPAGE loop中的P_DSPAGE 未定义。
,
P_Fieldname In Varchar2 --字段名
,
P_Dspage Out Ref_Cur) As
Sqlstr Varchar2(2000);
Begin
Sqlstr := 'select distinct ' || P_Fieldname || ' from ' || P_Tablename ||
' order by ' || P_Fieldname;
Open P_Dspage For Sqlstr;
End Pro_Bandingcombobox;
set serveroutput on;
DECLARE
P_TABLENAME VARCHAR2(200);
P_FIELDNAME VARCHAR2(200);
P_DSPAGE PKG_SCOS_BDMS.Ref_Cur;
BEGIN
P_TABLENAME := 'tb_airport';
P_FIELDNAME := 'airport_icao';
PKG_SCOS_BDMS.Pro_Bandingcombobox(
P_TABLENAME => P_TABLENAME,
P_FIELDNAME => P_FIELDNAME,
P_DSPAGE => P_DSPAGE
);
for rec_next in P_DSPAGE loop
DBMS_OUTPUT.PUT_LINE(rec_next);
end loop;
END;
--报错是for rec_next in P_DSPAGE loop中的P_DSPAGE 未定义。
作者: c07001 发布时间: 2011-12-23
问题补充,上面是在PKG_SCOS_BDMS包里的一个存储过程,这个包里有定义游标类型Ref_Cur,下面是一个用来测试上面那个存储过程的块。
作者: c07001 发布时间: 2011-12-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28