SYS_TYPEID
構文
目的
SYS_TYPEID
は、オペランドで最も指定される型の型IDを戻します。この値は、主に、置換可能な列の基礎となる型判別式の列を識別するために使用されます。たとえば、型判別式の列に索引を構築するために、SYS_TYPEID
によって戻される値を使用できます。
このファンクションは、オブジェクト型のオペランドのみで使用してください。すべての最終ルート・オブジェクト型(型階層に属さない最終型)は、NULLの型IDを持ちます。Oracle Databaseは、型階層に属するすべての型に、NULL以外の一意の型IDを割り当てます。
関連項目:
型IDの詳細は、『Oracle Databaseオブジェクト・リレーショナル開発者ガイド』を参照してください。
例
次の例では、「置換可能な表および列のサンプル」で作成された表persons
およびbooks
を使用します。最初の問合せは、persons
表に格納されたオブジェクト・インスタンスの最も指定される型を戻します。
SELECT name, SYS_TYPEID(VALUE(p)) "Type_id" FROM persons p; NAME Type_id ------------------------- -------------------------------- Bob 01 Joe 02 Tim 03
次の問合せは、books
表に格納された作者の最も指定される型を戻します。
SELECT b.title, b.author.name, SYS_TYPEID(author) "Type_ID" FROM books b; TITLE AUTHOR.NAME Type_ID ------------------------- -------------------- ------------------- An Autobiography Bob 01 Business Rules Joe 02 Mixing School and Work Tim 03
SYS_TYPEID
ファンクションを使用すると、表の型判別式の列に索引を作成できます。例は、「置換可能な列の索引の作成例:」を参照してください。