質問
私は、以下の諸表Oracle11g:
CREATE TYPE person AS OBJECT (
name VARCHAR2(10),
age NUMBER
);
CREATE TYPE person_varray AS VARRAY(5) OF person;
CREATE TABLE people (
somePeople person_varray
)
たいのですが名前を選択した値人体
SELECT somePeople(person(name)) FROM people
感謝
解決
してください:
何をやっているかどう考えています。もう完全に違反する関係の原則は、使い終わるオブジェクト/タイプシステムには、Oracleができない場合がございますの変更まれていない。最高使用などの見用のSQL型(PL/SQL型は、基本的にできるキャストは、refカーソルバのためのパイプラインの機能
まunnestの前にコレクションを照会できますので関係のような:
選択から を選択する。* 名人からのP、テーブル(P.SOME_PEOPLE)SP)
ただすべての行に対して、ありがとうございます。ものではないお客様の仕様(ようPERSON_ID属性)を制限するために行った。
オラクルのアプリケーション開発ガイド-オブジェクト関係の特徴についてすべてのことがさらに深め、一例です。
他のヒント
To insert query:-
insert into people values (
person_varray(person('Ram','24'))
);
To select :-
select * from people;
SELECT NAME FROM (SELECT SP.* FROM PEOPLE P, TABLE(P.somePeople) SP)
While inserting a row into people table use constructor of
person_varray and then the constructor
of person type for each project.
The above INSERT command
creates a single row in people table.
select somePeople from people ;
person(NAME, age)
---------------------------------------------------
person_varray(person('Ram', 1),
To update the query will be:-
update people
set somePeople =
person_varray
(
person('SaAM','23')
)
所属していません StackOverflow