1

SQL データベースの table-column-row の XML エントリを修正する方法は?

問題: という SQL データベースがありますMyClients。データベースには 3 つのテーブルがあります。

  • dbo アカウント
  • dbo.組織
  • dbo.Managers

テーブル内Accountsには、次の列があります。

  • AccountID(PK、varchar(10)、null 以外)
  • OrganizationID(varchar(10)、null 以外)
  • OrderBy(整数、ヌル)
  • Name(varchar(250)、ヌル)
  • XML(varchar(max), null)

一部の行は次の例のようになっています (Markdown HTML エディターで 5 列 2 行のテーブルを適切に作成できないようですので、次の 2 行はご容赦ください)。

    <table>
      <tr>
        <th>AccountID</th>
        <th>OrganizationID</th>
        <th>OrderBy</th>
        <th>Name</th>
        <th>XML</th>
      </tr>
      <tr>
        <td>6DC5DB4A</td>
        <td>ECFC36B05A</td>
        <td>2</td>
        <td>Some Company Ltd</td>
<td>&lt;Account&gt;&nbsp;&lt;AccountID&gt;6DC5DB4A&lt;/AccountID&gt;&nbsp;&lt;OrganizationID&gt;ABC567PQR&lt;/OrganizationID&gt;&nbsp;&lt;CreatedDate&gt;1899-12-30 00:00:00&lt;/CreatedDate&gt;&nbsp;&#60/Account&gt;
        </td>
      </tr>
    </table>

このような行には明らかな問題があります。XML 列のエントリは列の値<OrganizationID>同じではなく、エントリは明らかに間違っています!OrganizationID<CreatedDate>

質問:

約 10,000 行の大きなテーブルには、この方法で破損した約 30 行があります。<OrganizationID>エントリがABC567PQRであり、<CreatedDate>エントリが である場合、破損が存在する場合は常に同じです1899-12-30 00:00:00

方法:

  • <CreatedDate>エントリを正しい値に変更します2012-06-30 13:00:00
  • その行の列<OrganizationID>と同じになるようにエントリを変更しますか?OrganizationID
4

0 に答える 0