日期:2014-05-17  浏览次数:21091 次

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 ' ¦ &brvbartbn; 
这样写是不对的,不可以select *
如果这样的话要先打开游标


我也不大行,写这个东西
------解决方案--------------------
如果表名是变量,就要用动态SQL,
用execute immediate 'select * from ' | ¦tbn;