بتاريخ: 20 يناير 200917 سنة comment_147311 WITH invobjs_independent_invobjs AS (SELECT object_name, object_type FROM user_objects WHERE status = 'INVALID' MINUS SELECT d.NAME, d.TYPE FROM user_dependencies d, (SELECT object_name, object_type FROM user_objects WHERE status = 'INVALID') o WHERE d.referenced_name = o.object_name AND d.referenced_type = o.object_type) SELECT 'alter ' ||Rpad(DECODE(object_type,'PACKAGE BODY','PACKAGE', object_type),14,' ') ||Rpad(object_name,31,' ') ||'compile' ||DECODE(object_type,'PACKAGE BODY',' body') ||';' compile_command FROM (SELECT 0 l, object_name, object_type, NULL referenced_name, NULL referenced_type FROM invobjs_independent_invobjs UNION ALL SELECT LEVEL l, NAME, TYPE, referenced_name, referenced_type FROM user_dependencies CONNECT BY PRIOR NAME = referenced_name AND PRIOR TYPE = referenced_type START WITH (referenced_name,referenced_type) IN (SELECT object_name, object_type FROM invobjs_independent_invobjs)) GROUP BY object_name, object_type ORDER BY MAX(l); تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.