首页 > 解决方案 > 如何创建从表中选择作为参数的过程

问题描述

是否可以按照下面的代码在 oracle 过程中选择参数作为表名。

CREATE OR REPLACE PROCEDURE GET_TABLENAME_BY_PARAMETER(pr_tbname IN VARCHAR, v_cursor OUT SYS_REFCURSOR) is BEGIN open v_cursor for select *from pr_tbname; END GET_TABLENAME_BY_PARAMETER;

标签: databaseoracleplsql

解决方案


可以构造动态 SQL 以返回输入表名的 refcursor。

CREATE OR REPLACE PROCEDURE GET_TABLENAME_BY_PARAMETER(pr_tbname IN VARCHAR, v_cursor OUT SYS_REFCURSOR) is 
BEGIN open v_cursor for ' select * from '||pr_tbname; 
END GET_TABLENAME_BY_PARAMETER;

推荐阅读