truncate table 命令只有本用户可以使用,不要在其他用户下使用本命令

解决方案 »

  1.   

    兄弟
    我要每天删除我的表
    我的表有1万多条记录
    用delete不行
    我该怎么办
      

  2.   

    你试试动态SQLbegin 
      execute immediate ' truncate table report ';
    end ;
    /
      

  3.   

    v_sql:='truncate table report ';
    execute immediate v_sql;
    这样应该可以的
      

  4.   

    如果是8i以上,可以用execute immediate 
    否则就要用DBMS_SQL包了
      

  5.   

    oracle的存储过程中不可以有静态的DDL语句。但可以通过动态SQL来实现对表的DDL操作,在使用动态SQL之前,需要显示授权给改用户相应的权限。如:grant delete on table to userA
      

  6.   

    为了执行truncate table report命令,用户必须具有drop table权限.(在存储过程中)grant drop table to user_name