当前位置:  开发笔记 > 数据库 > 正文

在PL/SQL中,我可以通过存储过程参数传递游标FROM子句的表模式吗?

如何解决《在PL/SQL中,我可以通过存储过程参数传递游标FROM子句的表模式吗?》经验,为你挑选了1个好方法。

在PL/SQL中,我想将"源"模式作为参数传递给存储过程.例如:

BEGIN
    CURSOR my_cursor IS
      SELECT my_field FROM .my_table
...

我希望'schema'值来自输入参数到存储过程中.有谁知道我怎么能这样做?

PS对不起,如果这是一个愚蠢的简单问题,但我是PL/SQL的新手,必须快速编写一些函数.



1> Dave Costa..:

除了Mark Brady所说的,另一个动态SQL选项是使用REF CURSOR.由于您的示例代码包含一个游标,因此这将是最相关的.

PROCEDURE select_from_schema( the_schema VARCHAR2)
IS
  TYPE my_cursor_type IS REF CURSOR;
  my_cursor  my_cursor_type;
BEGIN
  OPEN my_cursor FOR 'SELECT my_field FROM '||the_schema||'.my_table';

  -- Do your FETCHes just as with a normal cursor

  CLOSE my_cursor;
END;

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有