Question

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;
Was it helpful?

Solution

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.

OTHER TIPS

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
Licensed under: CC-BY-SA with attribution
Not affiliated with dba.stackexchange
scroll top