读书人

+++++++++++存储过程中如何实现动态表

发布时间: 2012-02-09 18:22:27 作者: rapoo

+++++++++++存储过程中怎么实现动态表明++++++++++++++++
sql = "select * from" + table_name+ "where OBID='"+obid+"'" ;
上面的表面是动态的,请问在存储过程中如何实现这样的功能?


[解决办法]

SQL code
create or replace procedure getResultset(tablename varchar2,rst out sys_refcursor) isbegin  open rst for 'select * from '||tablename;end;
[解决办法]
你可以下以下句:

CREATE OR REPLACE PROCEDURE NAME
(
TABLENAME VARCHAR2,
V_ID NUMBER,

)
AS
SQL VARCHAR2(200);
BEGIN
SQL='select * from '||table_name ||'where OBID=V_ID';
EXECUTE IMMEDIATE SQL;
END NAME;
句只能行SELECT 句,如果想把果返回出,最好再定一CURSOR 返回一的集!

读书人网 >oracle

热点推荐