の定義は、ここで私はのためのスキーマを作成しようとしているサンプルXML文書です:SQL 2005 XMLスキーマ - 一意の属性に
'<Fields>
<Field ID="-1">somevalue</Field>
<Field ID="-2" />
<Field ID="-3" />
<Field ID="-4">Some other value</Field>
<Field ID="-5" />
</Fields>'
私はSQL Server 2005のスキーマコレクションを作成しようとしています:
1.二重のIDを防ぐ。
2.負のIDのみを許可します。
id属性にtype = "xs:negativeInteger"という負の制約を設定できます。しかし、SQL 2005では一意の制約またはkey \ keyrefを作成できません。type = "xs:ID"を設定すると、ID値に数字を使用することはできません。
いずれかが不足しているか、できないかのいずれかです。不可能な場合、SQL 2005はユニークな属性を持つ機能をサポートしていないのはなぜですか?テーブル上の制約\トリガーまたはxmlインデックスを使用して回避する方法がありますか、または私が今でも想像することのできない他の方法がありますか?
すべてのサポートをよろしくお願いいたします。ここで
です私が強制する必要のあるルールは、SQL Server 2005では動作しません。「一意」は明らかにサポートされておらず、どちらも「キー」ではありません。 – Sheki
:-(本当ですか?しかし、それは仕様です - 私が与えたリンクを見てください...それは "第2版"のためのものです、おそらく初版のみをサポートしているのでしょうか?いいえ - /www.w3.org/TR/2001/REC-xmlschema-1-20010502/#cIdentity-constraint_Definitions だから、彼らは単に仕様全体を実装していなかったと思います。 – 13ren
私の質問はまだそこにあるので、どのように強制することができますか ",,、、および SQL Serverはこれらをサポートしていません。" ...ここを参照http://technet.microsoft.com /en-us/library/ms190665(SQL.90).aspx –
Sheki