在PL/SQL中,我想将"源"模式作为参数传递给存储过程.例如:
BEGIN CURSOR my_cursor IS SELECT my_field FROM.my_table ...
我希望'schema'值来自输入参数到存储过程中.有谁知道我怎么能这样做?
PS对不起,如果这是一个愚蠢的简单问题,但我是PL/SQL的新手,必须快速编写一些函数.
除了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;