CODE
Oracle Code Library
JOBS
Find Or Post Oracle Jobs
FORUM
Oracle Discussion & Chat
PSOUG Home Code Snippets Oracle Reference Oracle Functions PSOUG Forum Oracle Blogs Bookmark and Share
 
 Search the Reference Library pages:  

Free
Oracle Magazine
Subscriptions
and Oracle White Papers

Oracle UTL_COLL
Version 11.1
 
General Information
Purpose Enables PL/SQL programs to use collection locators to check whether the input collection is a locator or not
Source {ORACLE_HOME}/rdbms/admin/utlcoll.plb
First Availability 8.1.5
Dependencies dbms_utl_coll_lib
 
IS_LOCATOR

Determines whether a collection item is actually a locator or not
utl_coll.is_locator (coln IN STANDARD) RETURNS BOOLEAN;
CREATE OR REPLACE TYPE CourseList AS TABLE OF VARCHAR2(64);
/

CREATE OR REPLACE TYPE MajorReq AS OBJECT (
major VARCHAR2(30), cl CourseList);
/

CREATE TABLE uw_major OF MajorReq
NESTED TABLE cl STORE AS nt_CourseList_t;

CREATE TABLE uw_majors OF MajorReq
NESTED TABLE cl STORE AS nt_CourseList_tab RETURN LOCATOR;

set describe depth all linenum on indent on

desc uw_major

desc uw_majors

INSERT INTO uw_major
VALUES
('Math', CourseList('Algebra','Geometry', 'Calculus'));

INSERT INTO uw_majors
VALUES
('Science', CourseList('Astronomy', 'Biology', 'Chemistry'));

SELECT cl FROM uw_major;

SELECT cl FROM uw_majors;

COMMIT;

CREATE OR REPLACE PROCEDURE is_coll IS
 mlist1 CourseList;
 mlist2 CourseList;
BEGIN
  SELECT cl
  INTO mlist1
  FROM uw_major
  WHERE major = 'Math';

  SELECT cl
  INTO mlist2
  FROM uw_majors
  WHERE major = 'Science';

  IF (utl_coll.is_locator(mlist1)) THEN
    dbms_output.put_line('uwmajor returns a locator');
  ELSE
    dbms_output.put_line('uwmajor does not return a locator');
  END IF;

  IF (utl_coll.is_locator(mlist2)) THEN
    dbms_output.put_line('uwmajors returns a locator');
  ELSE
    dbms_output.put_line('uwmajors does not return a locator');
  END IF;
END is_coll;
/

set serveroutput on

exec is_coll
 
Related Topics
Collections
Nested Tables
 
Home      :      Code Library      :      Sponsors      :      Privacy      :      Terms of Use      :      Contact Us [75 users online]    © 2010 psoug.org