oracle数据库赋某表truncate权限

oracle数据库赋某表truncate权限

oracle中truncate其他用户的表必须要有drop any table权限,如果没有此权限,可以采用下面的方法:

一、ins用户下创建存储过程

create or replace procedure p_trun_link_odso is
       sqlstr varchar2(2000);
begin
  sqlstr := 'truncate table ins.tb_cablecheck_link_odso';
  execute immediate sqlstr;
  commit;
end;

二、mobapp用户下赋权:执行存储过程的权限

grant execute on ins.p_trun_link_odso  to odso_insert;

三、odso_insert用户下执行存储过程,即可truncate表

begin
  -- Call the procedure
  ins.p_trun_link_odso;
end;