Oracle存储过程中的Cursor中的动态变量 [英] Dynamic Variable in Cursor in Oracle stored procedure

查看:656
本文介绍了Oracle存储过程中的Cursor中的动态变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要帮助在Oracle存储过程中传递动态变量(表名)。

Need help in passing dynamic variable (table name) in cursor in Oracle stored procedure.

我的存储过程:

CREATE OR REPLACE PROCEDURE ABCDEF
    (TBL_NAME IN VARCHAR)
IS 

CURSOR CUR IS SELECT * FROM TABLEA 

BEGIN

FOR rec
IN CUR
LOOP
.
.
.
END

我需要将此TABLEA在游标中替换为TBL_NAME变量。我试图使游标语句作为可执行语句,但它没有帮助我。

I NEED THIS TABLEA in cursor to be replaced by TBL_NAME variable. I tried to make the cursor statement as executable statement but it didn't help me.

建议

推荐答案

Made this working using part of the solution above. Thanks for the suggestions. 

CREATE OR REPLACE PROCEDURE ABCDEF
(
   TBL_NAME IN VARCHAR
) IS 

TYPE curtype IS REF CURSOR;
cur curtype;
column1 number;
column2 number;

cursor sql := 'Select * from ' ||tbl_name;

Begin
open cur for cursor_sql;
fetch cur into column1,column2;

loop
.
.
.
close cur;
End

这篇关于Oracle存储过程中的Cursor中的动态变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆