書式
SDO_WFS_PROCESS.RegisterMTableView( ftNsUrl IN VARCHAR2, ftName IN VARCHAR2, viewTableList IN MDSYS.STRINGLIST, viewTablePkeyColList IN MDSYS.STRINGLIST, tablePkeyColList IN MDSYS.STRINGLIST);
または
SDO_WFS_PROCESS.RegisterMTableView( ftNsUrl IN VARCHAR2, ftName IN VARCHAR2, viewTableList IN MDSYS.STRINGLIST, viewTablePkeyColList IN MDSYS.STRINGLIST, formattedViewTableColList IN MDSYS.STRINGLISTLIST, tablePkeyColList IN MDSYS.STRINGLIST);
説明
フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを有効にします。
パラメータ
フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。
フィーチャ・タイプの名前を指定します。
ビューに含まれる表のリストを指定します。表名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLIST('MYUSER.ROADS', 'MYUSER.ROADS_DESC')のように指定します。
ビュー内の表の主キー列に対応するビュー列のリストを、viewTableListに表を指定した順序に従って指定します。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用してMDSYS.STRINGLIST('ROAD_ID', 'ROAD_ID')のように指定します。この例では、ROADS表およびROAD_DESC表の両方に、ROAD_IDが主キーとして含まれています。
複数列主キーの表の列に対応する列がビューに含まれる場合は、主キーに含まれる各列をセミコロンで区切ります。例: 'COL1;COL2'
ビュー内の書式化された文字列の主キー列に対応した、書式化された文字列表の主キー列のリストを、viewTableListに表を指定した順序に従って指定します。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLISTLIST(MDSYS.STRINGLIST('to_char(ROAD_ID)'), MDSYS.STRINGLIST('to_char(ROAD_ID)'))のように指定します。
各表に対して書式化された文字列の主キー列のリストは、tablePkeyColListパラメータで指定した各表の主キー列と同じ順番で指定する必要があります。
表の主キー列のリストを、viewTableListに表を指定した順序に従って指定します。各表の主キー列は、viewTablePkeyColListパラメータに指定したビューのキー列の順序で指定する必要があります。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLIST('ROAD_ID', 'ROAD_ID')のように指定します。
表の主キーが複数列の場合は、主キーに含まれる各列をセミコロンで区切ります。例: 'COL1;COL2'
使用上の注意
複数表ビューのコンテンツをフィーチャ・インスタンスとしてパブリッシュする必要がある場合は、SDO_WFS_PROCESS.PublishFeatureTypeプロシージャをコールした後に、このプロシージャをコールする必要があります。
フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを無効にする場合は、SDO_WFS_PROCESS.UnRegisterMTableViewプロシージャを使用します。
Web Feature Servicesのサポートについては、「Web Feature Service(WFS)のサポート」を参照してください。
例
次の例では2つのフィーチャ表を作成し、これらの表に基づいてビューを作成します。続いて、フィーチャ・タイプをパブリッシュし、ビューのコンテンツのパブリッシュを有効するために複数表ビューを登録します。
CREATE TABLE cola_markets_cs (
mkt_id NUMBER PRIMARY KEY,
name VARCHAR2(32),
shape MDSYS.SDO_GEOMETRY);
CREATE TABLE cola_markets_cs_details (
mkt_id NUMBER PRIMARY KEY,
description VARCHAR2(400));
create view cola_markets_view as select t1.mkt_id, t1.name, t1.shape,
t2.description from
cola_markets_cs t1, cola_markets_cs_details t2
where t1.mkt_id = t2.mkt_id;
DECLARE
cm MDSYS.StringList := MDSYS.StringList('PolygonMemberType');
BEGIN
SDO_WFS_PROCESS.publishFeatureType(
'WFS_USER.COLA_MARKETS_VIEW',
'http://www.example.com/myns',
'COLA',
'myns',
xmltype(bfilename('WFSUSERDIR', 'featuredesct.xml'), nls_charset_id('AL32UTF8')),
null, 'MKT_ID', cm, 'SHAPE', null, null, null, null);
END;
/
BEGIN
SDO_WFS_PROCESS.registerMTableView('http://www.example.com/myns',
'COLA', mdsys.StringList('WFS_USER.COLA_MARKETS_CS',
'WFS_USER.COLA_MARKETS_CS_DETAILS'),
mdsys.StringList('MKT_ID', 'MKT_ID'), -- view keys per table
mdsys.StringList('MKT_ID', 'MKT_ID'));-- corresponding table keys
END;
/