这是我正在尝试为其创建架构的示例 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 值,更不用说负 ID。
要么我错过了什么,要么不可能。如果不可能,为什么 SQL 2005 不支持拥有唯一属性的能力?是否可以在表上使用约束\触发器或 xml 索引,或者我现在无法想象的其他一些技术?
非常感谢所有帮助。