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