需要详细的书写过程
谢谢

解决方案 »

  1.   

    为什么要使用execute immediate执行update语句..可以直接使用statis sql的情况下, 不要使用dynamic sql..
      

  2.   

    SQL> CREATE OR REPLACE PROCEDURE prod_test IS
      2  BEGIN
      3   EXECUTE IMMEDIATE 'update t1 set t1.name=''yang''';
      4  END prod_test;
      5  /Procedure createdSQL> exec prod_test;PL/SQL procedure successfully completedSQL> select * from t1;        ID NAME
    ---------- ----------
             1 yangSQL> 
    SQL> CREATE OR REPLACE PROCEDURE prod_test1 IS
      2  BEGIN
      3   EXECUTE IMMEDIATE 'update t1 set t1.name=''zhang''';
      4  END prod_test1;
      5  /Procedure createdSQL> exec prod_test1;PL/SQL procedure successfully completedSQL> select * from t1;        ID NAME
    ---------- ----------
             1 zhangSQL>
      

  3.   

    我的sql是拼起来的,不是固定的某一个值,是通过cursor来取具体的值,如果是固定的值就不需要使用动态sql了
      

  4.   

    只贴了其中一段.其他的自己添加
    sql_str := '
                   delete from '||occur_name||'
                    where partition_id = '||to_char(i)||'
                ' ;
                execute immediate sql_str;update 语句也就类似而已哈..
      

  5.   

    EXECUTE IMMEDIATE 'update '||tbl||' set col1='|| v1 ||' where ...';