Condividi tramite


Informazioni sulla colonna XML Contact.AdditionalContactInfo

Nella tabella Contact sono archiviate le informazioni di contatto del cliente, ad esempio nome, numero di telefono e indirizzo di posta elettronica. La tabella contiene anche una colonna di tipo xml denominata AdditionalContactInfo.

I clienti possono disporre di più numeri di telefono, di cellulare e di cercapersone e di più indirizzi di posta elettronica. Poiché il numero esatto di informazioni aggiuntive disponibili può non essere noto al momento della progettazione, non è possibile sapere quante colonne saranno necessarie per l'archiviazione di tutti i dati. Anziché creare più colonne per contenere tali informazioni e dover probabilmente inserire valori NULL, è possibile creare un'unica colonna di tipo XML per l'archiviazione di documenti XML contenenti le informazioni di contatto aggiuntive per ogni cliente.

Nel database AdventureWorks, questa colonna è denominata AdditionalContactInfo. Le informazioni di contatto aggiuntive possono essere condivise con altre applicazioni. Ad esempio, queste informazioni potrebbero essere utili per un'applicazione CRM (gestione delle relazioni con i clienti, Customer Relations Management).

L'applicazione CRM può inoltre archiviare informazioni di contatto in questa colonna, ad esempio la data in cui il cliente è stato contattato e note sulla conversazione.

Si tratta di una colonna xml tipizzata. Gli schemi utilizzati per questa colonna sono disponibili in questo sito Web Microsoft. La colonna utilizza gli schemi seguenti:

  • Schema AdventureWorks ContactInfo

  • Schema AdventureWorks ContactRecord

  • Schema AdventureWorks ContactTypes

Istanza XML di esempio archiviata in questa colonna

Di seguito è riportata l'istanza XML di esempio:

<AdditionalContactInfo xmlns="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactInfo" xmlns:crm="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactRecord" xmlns:act="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ContactTypes">
  <act:telephoneNumber>
    <act:number>111-111-1111</act:number>
    <act:SpecialInstructions>
        Call only after 5PM.
     </act:SpecialInstructions>
  </act:telephoneNumber>
  Note that customer has second home at this address.
 <act:homePostalAddress>
   <act:Street>123 Oak</act:Street>
   <act:City>Seattle</act:City>
   <act:StateProvince>WA</act:StateProvince>
   <act:PostalCode>777</act:PostalCode>
   <act:CountryRegion>USA</act:CountryRegion>
   <act:SpecialInstructions>If correspondance to the primary address 
        fail, try this one</act:SpecialInstructions>
 </act:homePostalAddress>
  Customer provided additional email address.          
 <act:eMail>
   <act:eMailAddress>customer1@xyz.com</act:eMailAddress>
  <act:SpecialInstructions>Dont send emails for urgent issues. Instead use
        this emergency contact phone
        <act:telephoneNumber>
          <act:number>112-111-1111</act:number>
        </act:telephoneNumber>.
  </act:SpecialInstructions>
</act:eMail>
<crm:ContactRecord date="2001-06-02Z">This customer is interested in 
            puchasing a high end bicycles for his family. The customer 
            contacted Mike in sales.
  </crm:ContactRecord>
</AdditionalContactInfo>

Eseguire la query seguente per trovare altre istanze XML:

select AdditionalContactInfo
from   Person.Contact

Vedere anche

Concetti