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.
当谈到集合中的100多个方案时,这是痛苦的.此外,您还必须重新创建XML索引(如果有的话).
任何解决方案,建议和技巧使这个架构集合对象编辑过程更容易?
为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 :)