在存储过程中,已经获取到表,保存在定义的变量table_name中,下接下来的操作中,我怎么样使用这个表作查询操作?
如:
  declare cursor mycur is select count(1) from 表名 where 条件
或这样:
  totalcount := select count(1) from 表名 where 条件表名的地方应该怎么把上面的table_name加进去?谢谢!!!!
 

解决方案 »

  1.   

    google一下    oracle  动态sql     就知道咋解决了
      

  2.   

    就是说如何使用我保存在变量table_name中的数据库表作查询操作。
    查询语句怎么写。
      

  3.   

    execute immediate 'select * from ' || table_name
      

  4.   


    这种方式编译是成功了,但是在使用执行命令:
    exec procedurename;
    的时候,执行不了,报:ORA_00900:invalid sql statement
      

  5.   

    需要调试一下,确认  'select * from ' || table_name 是否有效的sql statement.
    也就是要看看table_name里面是不是表名字.
      

  6.   

    或者你先改成这样,看看是不是不抱错了.execute immediate 'select * from dual'如果不抱错了,那么很可能是table_name 的值有错误!
      

  7.   


    我就只执行你上面提到的一句,但还是报同样的错,存储过程在pl/sql中编译之后,还要做什么操作啊?