Voici un document XML exemple, je suis en train de créer un schéma pour:SQL 2005 XML Schemas - Définition d'un attribut unique
'<Fields>
<Field ID="-1">somevalue</Field>
<Field ID="-2" />
<Field ID="-3" />
<Field ID="-4">Some other value</Field>
<Field ID="-5" />
</Fields>'
Je suis en train de créer une collection de schémas SQL Server 2005:
1. éviter les ID dupicés.
2. n'autoriser que les identifiants négatifs.
Je peux obtenir la contrainte négative avec type = "xs: negativeInteger" pour l'attribut id. Mais je ne peux pas créer une contrainte unique ou key \ keyref dans SQL 2005. Si je mets mon type = "xs: ID", alors je ne peux pas utiliser de nombres pour mes valeurs d'ID, nevermind les ID négatifs.
Soit il me manque quelque chose, soit ce n'est pas possible. Si ce n'est pas possible, pourquoi SQL 2005 ne supporte pas la possibilité d'avoir un attribut unique? Y at-il un travail autour de l'utilisation d'une contrainte \ trigger ou d'un index xml sur la table, ou d'une autre technique que je ne peux même pas imaginer maintenant?
Toute aide est grandement appréciée.
Bien que votre solution est xsd valide et réaliserait les règles que je dois appliquer, cela ne fonctionne pas avec SQL Server 2005. 'unique' n'est pas supporté apparemment, ni 'key' non plus. – Sheki
:-(vraiment? Mais c'est dans la spécification - voir le lien que j'ai donné ... euh ... c'est pour la "deuxième édition", peut-être qu'ils ne soutiennent que la première édition? Non - il a aussi unique/clé: http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#cIdentity-constraint_Definitions Donc je suppose qu'ils n'ont tout simplement pas implémenté toute la spécification – 13ren
donc ma question est toujours là, comment puis-je appliquer que mon ID est unique et négatif dans SQL 2005. ", , , et SQL Server ne les prend pas en charge." ... voir ici http://technet.microsoft.com /en-us/library/ms190665(SQL.90).aspx –
Sheki