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