11.2. ALL_OBJECTS View
The main objective of PLVobj is to provide a programmatic interface to the ALL_OBJECTS view. This data dictionary view has the following columns:
Name Null? Type ---------------- -------- ---- OWNER NOT NULL VARCHAR2(30) OBJECT_NAME NOT NULL VARCHAR2(30) OBJECT_ID NOT NULL NUMBER OBJECT_TYPE VARCHAR2(12) CREATED NOT NULL DATE LAST_DDL_TIME NOT NULL DATE TIMESTAMP VARCHAR2(75) STATUS VARCHAR2(7)
It contains a row for every stored code object to which you have execute access (the USER_OBJECTS view contains a row for each stored code object you created). The OWNER is the schema that owns the program unit.
object_name
The name of the object.
object_type
The type of the object, which is one of the following: package, package body, procedure, function, or synonym.
object_id
An internal pointer used to quickly obtain related information about the object in other data dictionary views.
last_ddl_time
Stores the date and timestamp when this object was last compiled into the database.
Status column
Either VALID or INVALID. This column is set by the Oracle Server as it maintains dependencies and performs compiles.
Without a package like PLVobj, every time you wanted to read from this view, you would need to write a SELECT statement in SQL*Plus or, in PL/SQL, define a cursor, and then do the "cursor thing." You would need to understand the complexities of the ALL_OBJECTS view (for example, all names are uppercased unless you created the object with double quotes ...
Get Advanced Oracle PL/SQL Programming with Packages now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.