select count() from @values
存储过程里执行不了@values 是不确定的

解决方案 »

  1.   

    sql : = 'select count() from ' || @values;
    execute immediate sql;
      

  2.   

    create or replace procedure 过程名字(pTableName varchar2) is 
      sqlSelect varchar2(100);
      type CurType is ref cursor;
      curTerm CurTypeTerm;
    begin
      sqlSelect := 'select count(*) from ' || pTableName  ;
      open curTerm for sqlSelect;  loop
        fetch curTerm into ...;
        --你的处理...
      end loop;
      
      close curTerm;exception
      -- 你的exception处理
    end;
      

  3.   

    table的名字是不能用bind parameter的~ 
    所以直接连接在sql字符串中
      

  4.   

    恩, 同意楼上~ 
    那就不要用ref cursor, 
    直接用: execute immediate sqlSelect into 变量 ;
      

  5.   

    oracle的存储过程也可以这么写吗?上面说的好像是sqlserver的写法
      

  6.   

    搞错了,应该是sqlserver,帮人问的
      

  7.   

    exec('select count(*) from' + @values)
      

  8.   

    exec('select count() from ' + @values)