Hier ist ein Beispiel-XML-Dokument Ich versuche, ein Schema zu erstellen:SQL 2005 XML-Schemas - Definieren eines einzigartigen Attribut
'<Fields>
<Field ID="-1">somevalue</Field>
<Field ID="-2" />
<Field ID="-3" />
<Field ID="-4">Some other value</Field>
<Field ID="-5" />
</Fields>'
Ich versuche, eine SQL Server 2005-Schemaauflistung zu erstellen:
1. verhindere doppelte ID's.
2. Nur negative IDs zulassen. ": Negative xs" für das id-Attribut
Ich kann die negative Einschränkung mit type = erreichen. Aber ich kann keine eindeutige Einschränkung oder key \ keyref in SQL 2005 erstellen. Wenn ich meine type = "xs: ID" setze, dann kann ich überhaupt keine Zahlen für meine ID-Werte verwenden, keine negativen IDs.
Entweder fehlt mir etwas, oder es ist nicht möglich. Wenn dies nicht möglich ist, warum würde SQL 2005 die Fähigkeit, ein eindeutiges Attribut zu haben, nicht unterstützen? Gibt es eine Arbeit um einen constraint \ trigger oder einen xml Index auf dem Tisch zu benutzen, oder eine andere Technik die ich mir momentan nicht vorstellen kann?
Alle Hilfe wird sehr geschätzt.
Obwohl Ihre Lösung gültig XSD und würde erreichen Die Regeln, die ich erzwingen muss, funktionieren nicht mit SQL Server 2005. "unique" wird offensichtlich nicht unterstützt, auch nicht "key". – Sheki
:-(wirklich? Aber es ist in der Spezifikation - siehe den Link, den ich gab. Uh ... das ist für die "zweite Ausgabe", vielleicht unterstützen sie nur die erste Ausgabe? Nein - es hat auch einzigartige/Schlüssel: http://www.w3.org/TR/2001/REC-xmlschema-1-20010502/#cIdentity-constraint_Definitions Also ich denke, sie haben einfach nicht die ganze Spezifikation implementiert. – 13ren
so meine Frage ist immer noch da draußen, wie kann ich erzwingen dass meine ID in SQL 2005 eindeutig und negativ ist. ", , , und SQL Server unterstützt diese nicht." ... siehe hier http://technet.microsoft.com /en-us/library/ms190665(SQL.90).aspx –
Sheki