您的位置:首页 > 数据库 > Oracle

Oracle对象批量编译

2017-12-25 12:58 435 查看
Oracle导出导入数据后,如果新导入的有存储过程、函数、触发器、视图之类的Object就需要重新编译一下,不然他们的状态就是无效的。提供一个SQL以供大家使用。

declare
objowner varchar2(50) := 'scott';
begin
for obj in (select * from all_objects where status = 'INVALID' and object_type in ('PROCEDURE', 'FUNCTION', 'VIEW', 'TRIGGER') and owner=upper(objowner))
loop
begin
execute immediate 'alter ' ||obj.object_type|| ' ' ||obj.object_name || ' compile';
exception
when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: