Oracle中的表名如果似个变量
怎么定义这个表滴ROWTYPE类型变量呢?
部分代码参考如下(v_sql,tbn为VARCHAR2,tbn为一表的表名,似从另一个表中得到滴):
v_sql:='select * from '||tbn;
OPEN rspk FOR v_sql;
IF rspk%ISOPEN THEN
LOOP
FETCH rspk INTO v_pkv; --就似这个v_pkv该怎么定义
EXIT WHEN rspk%NOTFOUND;
--其他操作
NULL;
END LOOP;
close rspk;
END IF;
------解决方案--------------------sql server 这么搞.oracle 不知道.
------解决方案--------------------
v_sql:='select * from ' ¦ ¦tbn;
这样写是不对的,不可以select *
如果这样的话要先打开游标
我也不大行,写这个东西
------解决方案--------------------
如果表名是变量,就要用动态SQL,
用execute immediate 'select * from ' | ¦tbn;