给单个function创建同义词我知道:
CREATE SYNONYM F FOR B.X
x为function名,B为function所属用户。但是我这数据库有100多个function,请问如何批量创建同义词?oraclefunction数据库sql
CREATE SYNONYM F FOR B.X
x为function名,B为function所属用户。但是我这数据库有100多个function,请问如何批量创建同义词?oraclefunction数据库sql
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;
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)