2011-09-19 4 views
5

Utilizzo SQL Server 2008 R2 e una tabella semplice con una colonna di tipo di dati XML. Ho creato un documento Schema XML che convalida correttamente i dati XML che verranno archiviati. Le mie domande sono:Come assegnare un documento Schema XML alla colonna di una tabella di SQL Server con un tipo di dati XML

  1. Come posso assegnare lo schema di colonna in modo tale che convaliderà il codice XML e rifiutare l'inserto se fallisce lo schema?

  2. Lo schema è necessario per aggiungere un indice XML alla colonna oppure è possibile aggiungere indici XML senza il documento schema?

risposta

9

Per creare un insieme di schemi, è possibile utilizzare il seguente:

CREATE XML SCHEMA COLLECTION MyXmlSchema AS 
N'YourSchemaHere'; 

Quindi, applicare con:

CREATE TABLE MyTable 
(
    MyTableId INT PRIMARY KEY 
    , XmlData XML (MyXmlSchema) 
) 

di riferimento da: http://technet.microsoft.com/en-us/library/ms176009.aspx

Questo esempio mostra non è necessario disporre di uno schema sul proprio XML per poter indicizzare la colonna: http://msdn.microsoft.com/en-us/library/bb510443.aspx