データベースに User という名前のテーブルがあります。その中には、多くの属性を含む XmlText という名前の xml 列があります。
<userDetails>
<MobileVerified>True</MobileVerified>
<EmailVerified>True</EmailVerified>
<IPAddress>122.160.65.232</IPAddress>
<Gender>Male</Gender>
<DateOfBirth>1970-03-22T00:00:00</DateOfBirth>
<DealingInProperties>residential_apartment_flat</DealingInProperties>
<DealingInProperties>residential_villa_bungalow</DealingInProperties>
<DealingInProperties>residential_farm_house</DealingInProperties>
</userDetails>
「residential_apartment_flat」が XmlText 列に存在する場合、すべての「residential_villa_bungalow」の値を「residential_apartment_flat」にマージする必要があります。それ以外の場合、「residential_apartment_flat」はデフォルトで残されます。データベースには約 700000 のレコードがあるため、通常の更新と cursot の間でどのような手法を使用できるかを覚えておいてください。
次の列「UserID、XmlText」でクエリを実行します
おそらくロジックは次のようになります..
if ('residential_villa_bungalow') exists
(
if ('residential_apartment_flat') exists
remove the 'residential_villa_bungalow' node as there must be only one 'residential_apartment_flat' node
else
update 'residential_villa_bungalow' into 'residential_apartment_flat'
)