Sql 带约束的数据库XML字段

Sql 带约束的数据库XML字段,sql,xml,database,Sql,Xml,Database,我正在做一个应用程序,我的客户可能需要数据库模式中的数据扩展 要进行数据扩展,我有一个XML数据字段,在其中存储每个客户扩展 CustomerID | Name | XML field 1 Jack <Age>24</Age> 2 Marie <Country>Norway</Country> CustomerID | Name | XML字段 1杰克24 2玛丽·

我正在做一个应用程序,我的客户可能需要数据库模式中的数据扩展

要进行数据扩展,我有一个XML数据字段,在其中存储每个客户扩展

CustomerID |    Name   | XML field 
   1            Jack     <Age>24</Age>
   2            Marie    <Country>Norway</Country>
CustomerID | Name | XML字段
1杰克24
2玛丽·挪威
我的问题是,如果Jack现在希望他的属性Age具有不为NULL的约束,那么这是否可能不影响其他客户


我的另一个问题是,如果Marie想要一个关于属性国家的索引,这是否可能不影响其他客户

非空
约束强制不接受空值。它应用于整个列,因此您不能


如果要始终将任何值强制到选定行,则必须使用触发器。检查所选项目中是否有空值,如果是,则将其更改为默认值。

您可以为XML文件添加一个不为空的约束作为XSD,这将需要另一个可为空的列

CustomerID ¦ Name  ¦ XML field                 ¦ XSD field
------------------------------------------------------------------------------------------
     1     ¦ Jack  ¦ <Age>24</Age>             ¦ <xs:element name="Age" nillable="false"/>
------------------------------------------------------------------------------------------
     2     ¦ Marie ¦ <Country>Norway</Country> ¦ 
CustomerID、Name、XML字段、XSD字段
------------------------------------------------------------------------------------------
杰克可能会帮助你

如果您想在SQL中使用约束,那么我帮不了您。我相信正如Nikolas Charalambidis所说,您不能为单元格创建条件,因为SQL不是为类似的东西构建的