定義されたタイプのオブジェクトのすべての値を出力する方法について質問があります。タイプPROJECTTのオブジェクトのテーブルSPがあります。SPの行にそのオブジェクトを照会すると、オブジェクトのタイプ(PROJECTT)が返されますが、オブジェクトの内容は返されません。タイプPROJECTTには5つのvarchar列があり、これを返したいものです。
以下は私のテーブルとタイプのSQLです
set echo on
set serveroutput on
drop table ACTIVES;
drop table POBJECT;
drop type ACTIVEST;
drop type POBJECTT;
create type POBJECTT as
object (p# varchar(5), pname varchar(20), color varchar(10),
weight number, city varchar(10));
create table POBJECT of POBJECTT;
insert into POBJECT(p#, pname, color, weight, city) values
('P1', 'Nut', 'Red', 12, 'London');
insert into POBJECT(p#, pname, color, weight, city) values
('P2', 'Bolt', 'Green', 17, 'Paris');
insert into POBJECT(p#, pname, color, weight, city) values
('P3', 'Screw', 'Blue', 17, 'Rome');
insert into POBJECT(p#, pname, color, weight, city) values
('P4', 'Screw', 'Red', 14, 'London');
insert into POBJECT(p#, pname, color, weight, city) values
('P5', 'Cam', 'Blue', 12, 'Paris');
insert into POBJECT(p#, pname, color, weight, city) values
('P6', 'Cog', 'Red', 19, 'London');
create type ACTIVEST as table of ref POBJECTT;
/
create table ACTIVES(s# varchar(5), sname varchar(20), status number,
city varchar(10), sp ACTIVEST)
次に、Java SAXパーサーとXMLファイルを使用して、ACTIVESのsp列にPOBJECTSテーブルの行への参照を入力します。
selectステートメントを使用してこれらの行を出力しようとしています。SPでオブジェクトの値を取得する方法がよくわからないため、次のようなものから始めました。
select * from (select sp from actives where S# = 'S1')