プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

33.12 SDO_WFS_PROCESS.RegisterMTableView

書式

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);

説明

フィーチャ・インスタンスとしての複数表ビュー・コンテンツのパブリッシュを有効にします。

パラメータ

ftNsUrl

フィーチャ・タイプの名前空間のURL(Uniform Resource Locator)を指定します。

ftName

フィーチャ・タイプの名前を指定します。

viewTableList

ビューに含まれる表のリストを指定します。表名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLIST('MYUSER.ROADS', 'MYUSER.ROADS_DESC')のように指定します。

viewTablePkeyColList

ビュー内の表の主キー列に対応するビュー列のリストを、viewTableListに表を指定した順序に従って指定します。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用してMDSYS.STRINGLIST('ROAD_ID', 'ROAD_ID')のように指定します。この例では、ROADS表およびROAD_DESC表の両方に、ROAD_IDが主キーとして含まれています。

複数列主キーの表の列に対応する列がビューに含まれる場合は、主キーに含まれる各列をセミコロンで区切ります。例: 'COL1;COL2'

formattedViewTableColList

ビュー内の書式化された文字列の主キー列に対応した、書式化された文字列表の主キー列のリストを、viewTableListに表を指定した順序に従って指定します。列名を指定するには、MDSYS.STRINGLIST型のコンストラクタを使用して、MDSYS.STRINGLISTLIST(MDSYS.STRINGLIST('to_char(ROAD_ID)'), MDSYS.STRINGLIST('to_char(ROAD_ID)'))のように指定します。

各表に対して書式化された文字列の主キー列のリストは、tablePkeyColListパラメータで指定した各表の主キー列と同じ順番で指定する必要があります。

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;
/