+++++++++++存储过程中怎么实现动态表明++++++++++++++++
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 返回一的集!