261 UTL_COLL
261.1 UTL_COLLサブプログラムの要約
UTL_COLL
パッケージには、1つのプログラム、IS_LOCATOR
ファンクションがあります。
表261-1 UTL_COLLパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
コレクション項目が実際にロケータかどうかを判別します。 |
261.1.1 IS_LOCATORファンクション
このファンクションは、コレクション項目が実際にロケータかどうかを判別します。
構文
UTL_COLL.IS_LOCATOR ( coln IN STANDARD) RETURNS BOOLEAN;
プラグマ
WNDS
、WNPS
およびRNPS
の各プラグマの断言。
パラメータ
表261-2 IS_LOCATORファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ネストした表またはVARRAY項目 |
戻り値
表261-3 IS_LOCATORファンクションの戻り値
戻り値 | 説明 |
---|---|
|
コレクション項目はロケータです。 |
|
コレクション項目はロケータではありません。 |
例
CREATE OR REPLACE TYPE list_t as TABLE OF VARCHAR2(20); / CREATE OR REPLACE TYPE phone_book_t AS OBJECT ( pno number, ph list_t ); / CREATE TABLE phone_book OF phone_book_t NESTED TABLE ph STORE AS nt_ph; CREATE TABLE phone_book1 OF phone_book_t NESTED TABLE ph STORE AS nt_ph_1 RETURN LOCATOR; INSERT INTO phone_book VALUES(1, list_t('650-633-5707','650-323-0953')); INSERT INTO phone_book1 VALUES(1, list_t('415-555-1212')); CREATE OR REPLACE PROCEDURE chk_coll IS plist list_t; plist1 list_t; BEGIN SELECT ph INTO plist FROM phone_book WHERE pno=1; SELECT ph INTO plist1 FROM phone_book1 WHERE pno=1; IF (UTL_COLL.IS_LOCATOR(plist)) THEN DBMS_OUTPUT.PUT_LINE('plist is a locator'); ELSE DBMS_OUTPUT.PUT_LINE('plist is not a locator'); END IF; IF (UTL_COLL.IS_LOCATOR(plist1)) THEN DBMS_OUTPUT.PUT_LINE('plist1 is a locator'); ELSE DBMS_OUTPUT.PUT_LINE('plist1 is not a locator'); END IF; END chk_coll; SET SERVEROUTPUT ON EXECUTE chk_coll;