存储过程 批量创建同义词

 批量创建同义词,SQL语句比较简单

create or replace procedure test is

  cursor T is
    SELECT 'create or replace synonym ' || a.OBJECT_NAME || ' for ' ||
           a.OWNER || '.' || a.OBJECT_NAME row_i,
           a.OBJECT_NAME,
           a.OWNER
      FROM dba_objects a
     where a.OWNER = 'SJJH'   ---对哪个用户创建同义词
       AND a.object_type = 'TABLE' --对象类型为 表
       and a.OBJECT_NAME like 'JH_P%';  --对哪些表,我这里是对部分表创建同义词,用了like 过滤

begin

  for R in T loop
  
    begin
    
      execute immediate (R.row_i);
    
    EXCEPTION
      WHEN OTHERS THEN
        dbms_output.put_line(R.row_i);
      
    end;
  
  end loop;

end;

猜你喜欢

转载自blog.csdn.net/qq_30125555/article/details/87914475