Is there a way to quickly list all the current user-owned functions in Oracle?
Something along the same lines as this, which lists the current user's tables
select * from user_tables;
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It only takes a minute to sign up.Sign up to join this community
The answer you are probably looking for is
select * from user_objects where object_type = 'FUNCTION';
However this won't return a list of packaged functions. I'm not aware of anyway of returning these other than by querying user_objects for objects of type 'PACKAGE' and then describing each in turn. Someone with a developer hat on might be able to answer the packaged function part of the question.
You can list any user owned objects by querying the user_objects table.
To do this for functions:
select object_name from user_objects where object_type = 'FUNCTION';
This table can also show other objects, like procedures and packages.
The user_objects table is supplemented by the table all_objects, which contains all the objects the current user has access to (i.e. grants to tables in other schemas etc).
The object_types this can be queried for on both tables is as follows:
select distinct object_type from all_objects; OBJECT_TYPE ------------------- JOB CLASS INDEXTYPE PROCEDURE JAVA CLASS SCHEDULE WINDOW WINDOW GROUP JAVA RESOURCE TABLE TYPE VIEW FUNCTION PROGRAM SYNONYM CONSUMER GROUP EVALUATION CONTEXT OPERATOR PACKAGE SEQUENCE XML SCHEMA