日期:2014-05-17  浏览次数:21123 次

oracle如何批量创建function同义词?
给单个function创建同义词我知道:
CREATE SYNONYM F FOR B.X

x为function名,B为function所属用户。

但是我这数据库有100多个function,请问如何批量创建同义词?
oracle function 数据库 sql

------解决方案--------------------
BEGIN
  FOR i IN (SELECT object_name
              FROM all_objects s
             WHERE s.object_type = 'FUNCTION'
               AND s.owner = 'B'
               AND NOT EXISTS (SELECT 1 FROM all_synonyms t WHERE t.synonym_name = s.object_name))
  LOOP
    EXECUTE IMMEDIATE 'CREATE SYNONYM ' 
------解决方案--------------------
 i.object_name 
------解决方案--------------------
 ' FOR B.' 
------解决方案--------------------
 i.object_name;
  END LOOP;
END;