Freigeben über


Informationen zur XML-Spalte Contact.AdditionalContactInfo

Die Person-Tabelle speichert typische Kontaktinformationen zu Kunden, z. B. Name, Telefonnummer und E-Mail-Adresse. Die Tabelle besitzt außerdem eine Spalte vom Typ xml mit dem Namen AdditionalContactInfo.

Kunden können mehrere Telefon- und Mobiltelefonnummern, E-Mail-Adressen oder Pager besitzen. Da die genaue Anzahl zusätzlicher Kontaktinformationen möglicherweise zur Entwurfszeit nicht bekannt ist, kann nicht ermittelt werden, wie viele Spalten zum Speichern dieser Informationen benötigt werden. Statt nun mehrere Spalten für die Zusatzinformationen zu jedem Kunden zu erstellen und anschließend NULL-Werte darin zu speichern, können Sie eine einzige Spalte vom Typ XML erstellen.

In der AdventureWorks2008R2-Datenbank hat diese Spalte den Namen AdditionalContactInfo. Diese zusätzlichen Kontaktinformationen können anschließend auch für andere Anwendungen freigegeben werden. Beispielsweise könnten diese Informationen für eine Customer Relations Management (CRM)-Anwendung interessant sein.

Es könnten aber auch Kontaktinformationen von der CRM-Anwendung aus in dieser Spalte gespeichert werden, z. B. das Datum, an dem der Kunde kontaktiert wurde, sowie Notizen zu dem Gespräch.

Es handelt sich hier um eine typisierte xml-Spalte. Die für diese Spalte verwendeten Schemas werden auf dieser Microsoft-Website angezeigt. Diese Spalte verwendet die folgenden Schemas:

  • ContactInfo-Schema

  • ContactRecord-Schema

  • ContactTypes-Schema

In dieser Spalte gespeicherte XML-Beispielinstanz

Im Folgenden ist die XML-Beispielinstanz aufgeführt:

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

Erst ab 17:00 Uhr anrufen.

</act:SpecialInstructions>

</act:telephoneNumber>

Kunde verfügt über zweite Privatadresse.

<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>Wenn keine Übereinstimmung mit erster Adresse

folgende verwenden</act:SpecialInstructions>

</act:homePostalAddress>

Kunde hat zusätzliche E-Mail-Adresse bereitgestellt.

<act:eMail>

<act:eMailAddress>customer1@xyz.com</act:eMailAddress>

<act:SpecialInstructions>In dringenden Fällen keine E-Mail-Nachricht senden. Stattdessen

die folgende Telefonnummer für Notfälle verwenden

<act:telephoneNumber>

<act:number>112-111-1111</act:number>

</act:telephoneNumber>.

</act:SpecialInstructions>

</act:eMail>

<crm:ContactRecord date="2001-06-02Z">Dieser Kunde hat Interesse am

Kauf von hochwertigen Fahrrädern für die Familie. Der Kunde

hat sich an Mike im Vertrieb gewendet.

</crm:ContactRecord>

</AdditionalContactInfo>

Führen Sie die folgende Abfrage aus, um weitere XML-Instanzen zu ermitteln:

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

Siehe auch

Konzepte