Pasar los sinonimos de public a privados de un esq
Publicado por abeltran.uy (5 intervenciones) el 13/08/2009 20:06:24
DECLARE
nom_sinonimo dba_synonyms.synonym_name%type;
CURSOR cursor_sinonimos IS
select synonym_name from dba_synonyms where TABLE_OWNER = 'ESQUEMA' AND OWNER = 'PUBLIC';
BEGIN
OPEN cursor_sinonimos;
LOOP
fetch cursor_sinonimos into nom_sinonimo;
exit when cursor_sinonimos%notfound;
BEGIN
EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM ' || nom_sinonimo;
EXECUTE IMMEDIATE 'CREATE SYNONYM NUEVO_ESQUEMA.' || nom_sinonimo || ' FOR ESQUEMA.' || nom_sinonimo;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
CLOSE cursor_sinonimos;
END;
/
nom_sinonimo dba_synonyms.synonym_name%type;
CURSOR cursor_sinonimos IS
select synonym_name from dba_synonyms where TABLE_OWNER = 'ESQUEMA' AND OWNER = 'PUBLIC';
BEGIN
OPEN cursor_sinonimos;
LOOP
fetch cursor_sinonimos into nom_sinonimo;
exit when cursor_sinonimos%notfound;
BEGIN
EXECUTE IMMEDIATE 'DROP PUBLIC SYNONYM ' || nom_sinonimo;
EXECUTE IMMEDIATE 'CREATE SYNONYM NUEVO_ESQUEMA.' || nom_sinonimo || ' FOR ESQUEMA.' || nom_sinonimo;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
END LOOP;
CLOSE cursor_sinonimos;
END;
/
Valora esta pregunta
0