应该用execute immediate 'select count(*) into thecount(counter) from '|| thetable ||'where......';

解决方案 »

  1.   

    哪儿有这么简单啊,去查查dbms_sql这个包吧
    是关于动态sql的
      

  2.   

    必须用动态sql,在8i或以后的版本中可以使用execute immediate
      

  3.   

    dbms_sql包在哪里找,还有这方面的书吗?
      

  4.   

    在这里不能用INTO
    INTO 后面是个变量,在字符串中,这句SQL是没法在SQLPLUS中执行的,
    当然不能用EXCUTE IMMEDIATE 在SQL中执行了.你可以把结果保存到表里
    'INSERT INTO ...SELECT ... FROM '||TANME||' WHERE ...';
    或者用游标
    OPEN CURSORNAME FOR 'SELECT COUNT(*)  FROM  FROM '||TANME||' WHERE ...';
    FETCH  CURSORNAME  INTO  THECOUNT
      

  5.   

    动态SQL,你可以看ORACLE的联机文档,PL/SQL develop 部分,第10章