标签: xml-schema-collection

修改SQL Server架构集合

SQL Server XML Schema Collection是一个有趣的概念,我发现它在设计动态数据内容时非常有用.但是,当我通过实现Schema Collections时,我发现维护它们非常困难.

模式集合DDL仅允许CREATE和ALTER/ADD节点到现有方案.

CREATE XML SCHEMA COLLECTION [ <relational_schema>. ]sql_identifier AS 'XSD Content'
ALTER XML SCHEMA COLLECTION [ <relational_schema>. ]sql_identifier ADD 'Schema Component'
Run Code Online (Sandbox Code Playgroud)

如果要从架构中删除任何节点,则必须发出以下DDL.

  1. 如果将该架构集合分配给表列,则必须更改表以从该列中删除架构集合关联
  2. 删除架构集合对象
  3. 重新创建架构集合
  4. 更改表列以将架构集合重新关联到该列.

当谈到集合中的100多个方案时,这是痛苦的.此外,您还必须重新创建XML索引(如果有的话).

任何解决方案,建议和技巧使这个架构集合对象编辑过程更容易?

xml database sql-server xsd xml-schema-collection

14
推荐指数
1
解决办法
3154
查看次数

检查是否存在XML Schema Collection?

为Sql Server 2005编写脚本.我正在注册一个模式

CREATE XML SCHEMA COLLECTION [dbo].[MySchema] AS N'<xsd:schema ... >'
Run Code Online (Sandbox Code Playgroud)

现在,当我做出改变时,我想放弃它,打电话给

DROP XML SCHEMA COLLECTION [dbo].[MySchema]
Run Code Online (Sandbox Code Playgroud)

我在开发过程中经常运行这些东西,比如

DROP ...
CREATE ... 
Run Code Online (Sandbox Code Playgroud)

但是这会在Schema不存在的第一次运行时出现问题.我想做类似的事情

IF OBJECT_ID ('MySchema') IS NOT NULL
    DROP ...
CREATE ...
Run Code Online (Sandbox Code Playgroud)

OBJECT_ID ('MySchema')只是回来NULL.是否有正确的方法来测试Sql Server 2005中是否存在已注册的Xml架构集合?

muchos gracias mis amigos :)

sql sql-server-2005 exists xml-schema-collection

4
推荐指数
1
解决办法
4050
查看次数