clobとして保存されたxmlドキュメントを含むテーブルがあります。
TabA
----
Name varchar2(30) (PK)
Definition clob
other attributes
注:「定義」は、XMLを格納するclob列です。一般的なデータ量:1500行。
私の要件は、ある種の調整を行い、XMLに変更が加えられた行のみを毎日処理し、新しいものとして入ってくる行を処理することです。新しく入った行を識別し、それらだけを処理するのは簡単で、名前に「マイナス」を付けることで実行できます。しかし、変更が加えられた既存の行のXMLを識別する良い方法はありますか?
例:XML内の要素が削除されたか、その属性が前日から変更された場合、その「名前」行を処理できるはずです。
表の典型的なXMLの例:
<?xml version="1.0" encoding="UTF-8"?>
<dataMart asOfDriver="EFFECTIVE_DATE" chainedData="false" classification="" convertUsingFxRate="false" coreEntityIndicator="false" createdAt="2011-12-22T17:41:11.002" createdBy="user1" description="" entitled="false" entitlementDriver="false" hierarchicalFlag="false" innerJoin="false" intent="Intermediate" lastUpdatedAt="2012-07-26T16:11:42.424" lastUpdatedBy="p459807" martType="SPOT" martUsage="Persistent" ownerRole="Meta Model SSC" preAggregatedData="false" referenceDataIndicator="false" retention="" rollupFunction="" staticAggregationOnly="false" status="ACTIVE" tags="">
<name>Name1</name>
<sources>
<source isDefault="false" name="S1"></source>
</sources>
<rowType-mapping>
<rowType identifier="0">
<element alias="E1" name="E1" source="" sourceAlias="" sourceType="system" trackSource="false">
<description localDescription="false"></description>
<validationRule type="None"></validationRule>
<mapping columnName="E1" function="" tableName="TABA"></mapping>
<Opaque />
</element>
More element tags
...<element> </element>
</rowType>
</rowType-mapping>
<parameters>
<parameter filter="N" name="P1">
<![CDATA[PM]]>
</parameter>
</parameters>
</dataMart>
任意のポインタをいただければ幸いです。