Share via


Sobre a coluna xml Contact.AdditionalContactInfo

A tabela Pessoa armazena informações típicas de contato de clientes, como nome, número de telefone e endereço de email. Essa tabela também tem uma coluna de tipo xml denominada AdditionalContactInfo.

Os clientes podem ter vários telefones, celulares, emails e pagers. Como o número exato de pontos de contato adicionais podem não estar disponíveis na hora do design, não é possível saber quantas colunas serão necessárias para armazenar essas informações. Em vez de criar várias colunas para conter essas informações e, em seguida armazenar valores NULL, você pode criar uma única coluna de tipo XML para armazenar documentos XML que contêm informações de contato de cada cliente.

No banco de dados do AdventureWorks2008R2, essa coluna é nomeada AdditionalContactInfo. Em seguida, essas informações adicionais de contato podem ser compartilhadas com outros aplicativos. Por exemplo, essas informações podem ser úteis para um aplicativo CRM (Gerenciamento de Relacionamento com o Cliente).

O aplicativo CRM também pode armazenar informações de contato nessa coluna. Isso pode incluir informações como a data que um cliente foi contatado e as notas da conversa.

Essa é uma coluna xml tipada. Os esquemas usados para essa coluna podem ser exibidos neste site da Microsoft. Essa coluna usa os seguintes esquemas:

  • Esquema ContactInfo

  • Esquema ContactRecord

  • Esquema ContactTypes

Instância XML de exemplo armazenada nesta coluna

O seguinte é o exemplo da instância XML:

<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>

Só ligar depois das 17h00.

</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>

Execute a consulta a seguir para localizar mais instâncias XML:

USE AdventureWorks2008R2;
GO
SELECT AdditionalContactInfo
FROM   Person.Person
WHERE AdditionalContactInfo IS NOT NULL;

Consulte também

Conceitos