Thursday, July 23, 2009

ANYDATA.AccessXXXX

In my previous article ANYDATA, we have seen how to store a value in a table column or PL/SQL variable of type ANYDATA. Now we will move further to know, how to access the stored values.

Similar to ANYDATA.ConvertXXXX built-ins, Oracle has provided ANYDATA.AccessXXXX built-ins to read the values of ANYDATA column or Variable.

The below example will show how to use AccessXXXX built-in with table column and PL/SQL variable.

Ex:

SELECT ANYDATA.AccessDate(id) from tab_anydata.

PL/SQL Block:

DECLARE

v_any ANYDATA;

BEGIN

v_any:= ANYDATA.convertNumber(1001);

DBMS_OUTPUT.PUT_LINE('Value in V_ANY variable is : ' v_any.AccessNumber());

v_any:=ANYDATA.convertDate('01-Jul-09');

DBMS_OUTPUT.PUT_LINE('Value in V_ANY variable is : ' v_any.AccessDate());

END;

Below are the list of Access built-ins, that are available with Oracle 9i.

MEMBER FUNCTION AccessBDouble(self IN ANYDATA) return BINARY_DOUBLE

MEMBER FUNCTION AccessBfile(self IN ANYDATA) return BFILE

MEMBER FUNCTION AccessBFloat(self IN ANYDATA) return BINARY_FLOAT

MEMBER FUNCTION AccessBlob(self IN ANYDATA) return BLOB

MEMBER FUNCTION AccessChar(self IN ANYDATA) return CHAR

MEMBER FUNCTION AccessClob(self IN ANYDATA) return CLOB

MEMBER FUNCTION AccessDate(self IN ANYDATA) return DATE

MEMBER FUNCTION AccessIntervalYM(self IN ANYDATA) return INTERVAL YEAR TO MONTH

MEMBER FUNCTION AccessIntervalDS(self IN ANYDATA) return INTERVAL DAY TO SECOND

MEMBER FUNCTION AccessNchar(self IN ANYDATA) return NCHAR

MEMBER FUNCTION AccessNClob(self IN ANYDATA) return NCLOB

MEMBER FUNCTION AccessNumber(self IN ANYDATA) return NUMBER

MEMBER FUNCTION AccessNVarchar2(self IN ANYDATA) return NVARCHAR2

MEMBER FUNCTION AccessRaw(self IN ANYDATA) return RAW

MEMBER FUNCTION AccessTimestamp(self IN ANYDATA) return TIMESTAMP

MEMBER FUNCTION AccessTimestampLTZ(self IN ANYDATA) return TIMESTAMP WITH LOCAL

MEMBER FUNCTION AccessTimestampTZ(self IN ANYDATA) return TIMESTAMP WITH

MEMBER FUNCTION AccessURowid(self IN ANYDATA) return UROWID DETERMINISTIC

MEMBER FUNCTION AccessVarchar(self IN ANYDATA) return VARCHAR

MEMBER FUNCTION AccessVarchar2(self IN ANYDATA) return VARCHAR2

Note: We don't have AccessXXXX built-in to read the values of Object, Collection and REF type.

I will explain you on how to read the Object, Collection and REF values stored in ANYDATA variable, in my next article.