【问题标题】:Dynamic Variable in Cursor in Oracle stored procedureOracle存储过程游标中的动态变量
【发布时间】:2014-12-31 14:10:48
【问题描述】:

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

我的存储过程:

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 变量。我试图将游标语句作为可执行语句,但它对我没有帮助。

请给点建议

【问题讨论】:

标签: oracle stored-procedures cursor


【解决方案1】:
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

【讨论】:

  • 为自己努力接受提示并加以应用表示赞赏。
猜你喜欢
  • 2010-10-20
  • 2020-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多