|
Sybernet / Supplied Packages Reference
Release 3.00 May 25, 2008 |
|
The DICTIONARY package provides subprograms for interrogating object attributes in your database. Originally patterned after Sybase functions of the same name (such as object_id and object_name), this package is specific to Oracle and extends the kind of things that you can retrieve; for example, if you want to retrieve the default parameter value from a stored procedure, you can do this with the function argument_value().
In general, package_name (in those functions that allow it) should be NULL if you are not interrogating attributes of a subprogram. Functions, tables, procedures, and packages are not subprograms and package_name should be null. When interrogating functions or procedures of packages, then package_name should be the name of that package and object_name is the name of that subprogram. It will take some practice, but the interface to both packages and non-packages is consistent. Some functions don't accept a package name. Some functions do allow a package name when specifying a package name doesn't make sense.
DICTIONARY defines the following constants:
ASCII_NUL CONSTANT CHAR(1) := CHR( 0); -- Null
ASCII_SOH CONSTANT CHAR(1) := CHR( 1); -- Start of heading
ASCII_STX CONSTANT CHAR(1) := CHR( 2); -- Start of text
ASCII_ETX CONSTANT CHAR(1) := CHR( 3); -- End of text
ASCII_EOT CONSTANT CHAR(1) := CHR( 4); -- End of transmission
ASCII_ENQ CONSTANT CHAR(1) := CHR( 5); -- Enquire
ASCII_ACK CONSTANT CHAR(1) := CHR( 6); -- Acknowledge
ASCII_BEL CONSTANT CHAR(1) := CHR( 7); -- Bell
ASCII_BS CONSTANT CHAR(1) := CHR( 8); -- Back space
ASCII_HT CONSTANT CHAR(1) := CHR( 9); -- Horizontal tab
ASCII_LF CONSTANT CHAR(1) := CHR( 10); -- Line feed
ASCII_VT CONSTANT CHAR(1) := CHR( 11); -- Vertical tab
ASCII_FF CONSTANT CHAR(1) := CHR( 12); -- Form feed
ASCII_CR CONSTANT CHAR(1) := CHR( 13); -- Carriage return
ASCII_SO CONSTANT CHAR(1) := CHR( 14); -- Shift out
ASCII_SI CONSTANT CHAR(1) := CHR( 15); -- Shift in
ASCII_DLE CONSTANT CHAR(1) := CHR( 16); -- Data link escape
ASCII_DC1 CONSTANT CHAR(1) := CHR( 17); -- Device control 1
ASCII_DC2 CONSTANT CHAR(1) := CHR( 18); -- Device control 2
ASCII_DC3 CONSTANT CHAR(1) := CHR( 19); -- Device control 3
ASCII_DC4 CONSTANT CHAR(1) := CHR( 20); -- Device control 4
ASCII_NAK CONSTANT CHAR(1) := CHR( 21); -- Negative acknowledge
ASCII_SYN CONSTANT CHAR(1) := CHR( 22); -- Synchronize
ASCII_ETB CONSTANT CHAR(1) := CHR( 23); -- End of transmission block
ASCII_CAN CONSTANT CHAR(1) := CHR( 24); -- Cancel
ASCII_EM CONSTANT CHAR(1) := CHR( 25); -- End of medium
ASCII_SUB CONSTANT CHAR(1) := CHR( 26); -- Substitute
ASCII_ESC CONSTANT CHAR(1) := CHR( 27); -- Escape
ASCII_FS CONSTANT CHAR(1) := CHR( 28); -- File separator
ASCII_GS CONSTANT CHAR(1) := CHR( 29); -- Group separator
ASCII_RS CONSTANT CHAR(1) := CHR( 30); -- Record separator
ASCII_US CONSTANT CHAR(1) := CHR( 31); -- Unit separator
ASCII_SPACE CONSTANT CHAR(1) := CHR( 32); -- Space
single_quote CONSTANT CHAR(1) := CHR( 39); -- Single Quote
double_quote CONSTANT CHAR(1) := CHR( 34); -- Double Quote
ASCII_DEL CONSTANT CHAR(1) := CHR(127); -- Rubout
DICTIONARY defines the following global variables:
cursor all_package_arguments
(
owner in varchar2
, package_name in varchar2
, object_name in varchar2
, overload in varchar2
) ;
The all_package_arguments cursor allows you to retrieve arguments for functions, procedures, and package subprograms.
cursor all_package_source
(
owner in varchar2
, package_name in varchar2
, object_name in varchar2
, overload in varchar2
) ;
The all_package_source cursor allows you to retrieve the source for functions, procedures, and packages.
| Subprogram | Description |
|---|---|
ARGUMENT_NAME |
Retrieves the column name or argument name at a specified position. |
ARGUMENT_TYPE |
Retrieves the argument type of a an argument name. |
ARGUMENT_VALUE |
Retrieve the default argument value of an argument name. |
CREATED |
Retrieves the creation date of an object. |
DATA_TYPE |
Retrieves the type of a parameter. |
ISALNUM |
Determines if a character is alpha numeric. |
ISALPHA |
Determines if a character is alpha. |
ISDIGIT |
Determines if a character is numeric. |
ISLOWER |
Determines if a character is lower-case. |
ISSPACE |
Determines if a character is white-space. |
ISUPPER |
Determines if a character is upper-case. |
LAST_DDL_TIME |
Retrieves the date this objects was last modified. |
OBJECT_ID |
Retrieves the object ID of an object. |
OBJECT_NAME |
Retrieves the name of an object. |
OBJECT_OWNER |
Retrieves the owner of an object. |
OBJECT_SIZE |
Retrieves the size of an object. |
OBJECT_TYPE |
Retrieves the type of an object. |
STATUS |
Retrieves the status of an object. |
VALID_NAME |
Determines if a name is a valid Oracle identifier. |
This function allows you to retrieve the parameter name or column name at at particular position.
Function ARGUMENT_NAME
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, POSITION NUMBER
, OVERLOAD VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
position |
The position of this argument. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function ARGUMENT_NAME
(
PROCNAME VARCHAR2
, POSITION NUMBER
, OVERLOAD NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
position |
The position of this argument. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function ARGUMENT_NAME
(
PROCNAME VARCHAR2
, POSITION NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
position |
The position of this argument. |
The following example illustrates how to call ARGUMENT_NAME:
HTTP.WRITELN
(
HTTP.DICTIONARY.ARGUMENT_NAME
(
OWNER => 'HTTP'
, PACKAGE_NAME => 'DICTIONARY'
, OBJECT_NAME => 'ARGUMENT_NAME'
, POSITION => 1
, OVERLOAD => 1
)
) ;
This function allows you to determine the type of parameter that is passed to this object.
Function ARGUMENT_TYPE
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, ARGUMENT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
argument_name |
The name of the argument. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function ARGUMENT_TYPE
(
PROCNAME VARCHAR2
, ARGUMENT_NAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
argument_name |
The name of the argument. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function ARGUMENT_TYPE
(
PROCNAME VARCHAR2
, ARGUMENT_NAME VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
argument_name |
The name of the argument. |
The following example illustrates how to call ARGUMENT_TYPE:
HTTP.WRITELN
(
HTTP.DICTIONARY.ARGUMENT_TYPE
(
OWNER => 'HTTP'
, PACKAGE_NAME => 'DICTIONARY'
, OBJECT_NAME => 'ARGUMENT_TYPE'
, ARGUMENT_NAME => 'ARGUMENT_NAME'
, OVERLOAD => '1'
)
) ;
This function allows you to retrieve the default parameter value for an object (a procedure's argument or a table's column).
Function ARGUMENT_VALUE
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, ARGUMENT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram.
As of this writing you may not retrieve the default value for package subprograms. |
object_name |
The name of this object. |
argument_name |
The name of the argument. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function ARGUMENT_VALUE
(
PROCNAME VARCHAR2
, ARGUMENT_NAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
argument_name |
The name of the argument. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function ARGUMENT_VALUE
(
PROCNAME VARCHAR2
, ARGUMENT_NAME VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
argument_name |
The name of the argument. |
The following example illustrates how to call ARGUMENT_VALUE:
HTTP.WRITELN
(
HTTP.DICTIONARY.ARGUMENT_VALUE
(
OWNER => 'HTTP'
, PACKAGE_NAME => 'DICTIONARY'
, OBJECT_NAME => 'ARGUMENT_TYPE'
, ARGUMENT_NAME => 'ARGUMENT_NAME'
, OVERLOAD => '1'
)
) ;
This function allows you to retrieve the creation date of an object.
Function CREATED
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN DATE;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function CREATED
(
PROCNAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN DATE;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function CREATED
(
PROCNAME VARCHAR2
)
RETURN DATE;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
The following example illustrates how to call CREATED:
HTTP.WRITELN
(
HTTP.DICTIONARY.CREATED
(
OWNER => 'HTTP'
, PACKAGE_NAME => NULL
, OBJECT_NAME => 'DICTIONARY'
, OVERLOAD => NULL
)
) ;
GO
SELECT HTTP.DICTIONARY.CREATED('HTTP.DICTIONARY') FROM DUAL
This function allows you to retrieve the data type of a object or subprogram.
Function DATA_TYPE
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function DATA_TYPE
(
PROCNAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function DATA_TYPE
(
PROCNAME VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
The following example illustrates how to call DATA_TYPE:
HTTP.WRITELN
(
HTTP.DICTIONARY.DATA_TYPE
(
OWNER => 'HTTP'
, PACKAGE_NAME => 'DICTIONARY'
, OBJECT_NAME => 'DATA_TYPE'
, OVERLOAD => '1'
)
) ;
This function determines if a character is alpha numeric.
Function ISALNUM
(
C CHAR
)
RETURN PL/SQL BOOLEAN;
| Parameter | Description |
|---|---|
c |
A single character. |
The following example illustrates how to call ISALNUM:
DECLARE
C CHAR(1) := '3';
BEGIN
IF HTTP.DICTIONARY.ISALNUM(C) THEN
HTTP.WRITELN(C||' IS ALPHA NUMERIC');
ELSE
HTTP.WRITELN(C||' IS NOT ALPHA NUMERIC');
END IF;
END;
This function determines if a character is an alpha.
Function ISALPHA
(
C CHAR
)
RETURN PL/SQL BOOLEAN;
| Parameter | Description |
|---|---|
c |
A single character. |
The following example illustrates how to call ISALPHA:
DECLARE
C CHAR(1) := '3';
BEGIN
IF HTTP.DICTIONARY.ISALPHA(C) THEN
HTTP.WRITELN(C||' IS ALPHA');
ELSE
HTTP.WRITELN(C||' IS NOT ALPHA');
END IF;
END;
This function determines if a character is a number.
Function ISDIGIT
(
C CHAR
)
RETURN PL/SQL BOOLEAN;
| Parameter | Description |
|---|---|
c |
A single character. |
The following example illustrates how to call ISDIGIT:
DECLARE
C CHAR(1) := '3';
BEGIN
IF HTTP.DICTIONARY.ISDIGIT(C) THEN
HTTP.WRITELN(C||' IS A DIGIT');
ELSE
HTTP.WRITELN(C||' IS NOT A DIGIT');
END IF;
END;
This function determines if a character is lower-case.
Function ISLOWER
(
C CHAR
)
RETURN PL/SQL BOOLEAN;
| Parameter | Description |
|---|---|
c |
A single character. |
The following example illustrates how to call ISLOWER:
DECLARE
C CHAR(1) := '3';
BEGIN
IF HTTP.DICTIONARY.ISLOWER(C) THEN
HTTP.WRITELN(C||' IS LOWERCASE');
ELSE
HTTP.WRITELN(C||' IS NOT LOWERCASE');
END IF;
END;
This function determines if a character is a white-space character.
Function ISSPACE
(
C CHAR
)
RETURN PL/SQL BOOLEAN;
| Parameter | Description |
|---|---|
c |
A single character. |
The following example illustrates how to call ISSPACE:
DECLARE
C CHAR(1) := '3';
BEGIN
IF HTTP.DICTIONARY.ISSPACE(C) THEN
HTTP.WRITELN(C||' IS WHITESPACE');
ELSE
HTTP.WRITELN(C||' IS NOT WHITESPACE');
END IF;
END;
This function determines if a character is upper-case.
Function ISUPPER
(
C CHAR
)
RETURN PL/SQL BOOLEAN;
| Parameter | Description |
|---|---|
c |
A single character. |
The following example illustrates how to call ISUPPER:
DECLARE
C CHAR(1) := '3';
BEGIN
IF HTTP.DICTIONARY.ISUPPER(C) THEN
HTTP.WRITELN(C||' IS UPPERCASE');
ELSE
HTTP.WRITELN(C||' IS NOT UPPERCASE');
END IF;
END;
This function retrieves the last time this object was modified.
Function LAST_DDL_TIME
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN DATE;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function LAST_DDL_TIME
(
PROCNAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN DATE;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function LAST_DDL_TIME
(
PROCNAME VARCHAR2
)
RETURN DATE;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
The following example illustrates how to call LAST_DDL_TIME:
HTTP.WRITELN
(
HTTP.DICTIONARY.LAST_DDL_TIME
(
OWNER => 'HTTP'
, PACKAGE_NAME => NULL
, OBJECT_NAME => 'DICTIONARY'
, OVERLOAD => NULL
)
) ;
GO
SELECT HTTP.DICTIONARY.LAST_DDL_TIME('HTTP.DICTIONARY') FROM DUAL
This function retrieves the object Id of an object.
Function OBJECT_ID
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN NUMBER;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function OBJECT_ID
(
PROCNAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN NUMBER;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function OBJECT_ID
(
PROCNAME VARCHAR2
)
RETURN NUMBER;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
The following example illustrates how to call OBJECT_ID:
SELECT HTTP.DICTIONARY.OBJECT_ID('HTTP.DICTIONARY') FROM DUAL
This function retrieves the name of an object.
Function OBJECT_NAME
(
OBJECT_ID NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
object_id |
The object ID of this object. |
The following example illustrates how to call OBJECT_NAME:
DECLARE
OBJECT_ID NUMBER;
BEGIN
OBJECT_ID:=HTTP.DICTIONARY.OBJECT_ID('HTTP.DICTIONARY');
HTTP.WRITELN(HTTP.DICTIONARY.OBJECT_NAME(OBJECT_ID));
HTTP.WRITELN(HTTP.DICTIONARY.OBJECT_OWNER(OBJECT_ID));
END;
This function retrieves the owner of an object.
Function OBJECT_OWNER
(
OBJECT_ID NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
object_id |
The object ID of this object. |
The following example illustrates how to call OBJECT_OWNER:
DECLARE
OBJECT_ID NUMBER;
BEGIN
OBJECT_ID:=HTTP.DICTIONARY.OBJECT_ID('HTTP.DICTIONARY');
HTTP.WRITELN(HTTP.DICTIONARY.OBJECT_NAME(OBJECT_ID));
HTTP.WRITELN(HTTP.DICTIONARY.OBJECT_OWNER(OBJECT_ID));
END;
This function retrieves the size of an object.
Function OBJECT_SIZE
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN NUMBER;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function OBJECT_SIZE
(
PROCNAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN NUMBER;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function OBJECT_SIZE
(
PROCNAME VARCHAR2
)
RETURN NUMBER;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
The following example illustrates how to call OBJECT_SIZE:
SELECT HTTP.DICTIONARY.OBJECT_SIZE('HTTP.DICTIONARY') FROM DUAL
This function retrieves an object's type.
Function OBJECT_TYPE
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function OBJECT_TYPE
(
PROCNAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function OBJECT_TYPE
(
PROCNAME VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
The following example illustrates how to call OBJECT_TYPE:
SELECT HTTP.DICTIONARY.OBJECT_TYPE('HTTP.DICTIONARY') FROM DUAL
This function retrieves the status of an object.
Function STATUS
(
OWNER VARCHAR2
, PACKAGE_NAME VARCHAR2
, OBJECT_NAME VARCHAR2
, OVERLOAD VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
owner |
The owner of this object. |
package_name |
The name of this package or NULL if this is not a package subprogram. |
object_name |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function STATUS
(
PROCNAME VARCHAR2
, OVERLOAD NUMBER
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
overload |
The overload value if this is an overloaded subprogram in a package. |
Function STATUS
(
PROCNAME VARCHAR2
)
RETURN VARCHAR2;
| Parameter | Description |
|---|---|
procname |
The name of this object. |
The following example illustrates how to call STATUS:
HTTP.WRITELN
(
HTTP.DICTIONARY.STATUS
(
OWNER => 'HTTP'
, PACKAGE_NAME => NULL
, OBJECT_NAME => 'DICTIONARY'
, OVERLOAD => NULL
)
) ;
GO
SELECT HTTP.DICTIONARY.STATUS('HTTP.DICTIONARY') FROM DUAL
This function determines if name is a valid Oracle identifier.
Function VALID_NAME
(
NAME VARCHAR2
)
RETURN NUMBER;
| Parameter | Description |
|---|---|
name |
Anything you wish to pass to it. |
The following example illustrates how to call VALID_NAME:
DECLARE
NAME VARCHAR(30) := 'Burroughs';
BEGIN
IF HTTP.DICTIONARY.VALID_NAME(NAME) > 0 THEN
HTTP.WRITELN(NAME||' IS VALID');
ELSE
HTTP.WRITELN(NAME||' IS NOT VALID');
END IF;
END;