lunes, 7 de abril de 2014

Creacion de Sinonimos publicos de forma masiva....

este dia (MIÉRCOLES, 2 DE ABRIL DE 2014) me fue asignado crear los sinonimos publicos a todos los esquemas de trabajo, para lo cual cree un codigo pl,
espero que a tod@s les sea de utilidad, no olviden dejar sus comentarios

DECLARE 
CURSOR CREAR_SINONIMO IS
SELECT CASE WHEN OBJECT_TYPE IN (' FUNCTION','PACKAGE','PROCEDURE','SEQUENCE','TABLE','VIEW')
   THEN  'CREATE OR REPLACE PUBLIC SYNONYM '|| OBJECT_NAME||' FOR '||OWNER||'.'||OBJECT_NAME 
   ELSE ''
   END AS PERMISO
     FROM DBA_OBJECTS
     WHERE OWNER IN ('ESKEMA1','ESKEMA2','ESKEMA3')
     AND OBJECT_TYPE IN (' FUNCTION','PACKAGE','PROCEDURE','SEQUENCE','TABLE','VIEW') ;
    BEGIN
      FOR EJECUTA_PERMISO IN CREAR_SINONIMO
      LOOP
      BEGIN
      EXECUTE IMMEDIATE EJECUTA_PERMISO.PERMISO;
       DBMS_OUTPUT.PUT_LINE('SINONIMO CON EXITO '||EJECUTA_PERMISO.PERMISO);
      EXCEPTION WHEN OTHERS
      THEN
       DBMS_OUTPUT.PUT_LINE('ERROR '||EJECUTA_PERMISO.PERMISO);
      END;
      END LOOP; 
    END;

No hay comentarios.:

Publicar un comentario