do not use dbms_sql,you should use "execute immediate",which would be better.

解决方案 »

  1.   

    楼上的建议是好的,但楼主的oracle版本过低,还不支持execute immediate.
    关于表名做参数,最好还是这样写:
    sql:='delete from '||table_name||' where Jsjdm=:Jsjdm'
      

  2.   

    Developer2002:我用了,还是一样报,PLS-00221: 'EXECUTE'不是一个过程或尚未定议' 的错误
      

  3.   

    dbms_sql.execute is function, it should return a number value
      

  4.   

    F_Temp:='delete from '||V_Bdxmc||' where Jsjdm='''||V_Jsjdm||'''';
      

  5.   

    呵呵, rainbow0911(SleeplessInBJ) 说的对(我不常用这个包),你定义一个变量如:v_a pls_number;而后,用这个变量接受execute函数返回的值就可以了。
    v_a := dbms_sql.execute()