方法一:
declare
begin
for arr in (select 'create or replace synonym ’ || b.OBJECT_NAME || ’ for ’ || B.OWNER || ‘.’ ||B.OBJECT_NAME row_i from dba_objects B where OWNER = ‘OWNER’ AND object_type = ‘TABLE’ ) loop
begin
execute immediate (arr.row_i);
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(arr.row_i);
end;
end loop;
end;
方法二:
set pagesize 500;
spool create_guest_synonym.sql;
select 'create or replace synonym ’ || b.OBJECT_NAME || ’ for ’ || B.OWNER || ‘.’ ||B.OBJECT_NAME|| ‘;’ row_i from dba_objects B where OWNER = ‘OWNER’ AND object_type = ‘TABLE’ ;
@create_guest_synonym.sql;