检查是否存在XML模式集合?
问题描述:
SQL Server 2005年我注册一个模式编写脚本与检查是否存在XML模式集合?
CREATE XML SCHEMA COLLECTION [dbo].[MySchema] AS N'<xsd:schema ... >'
现在,我做出改变,我想放弃它,说一起
DROP XML SCHEMA COLLECTION [dbo].[MySchema]
我运行一个电话这个东西相当频繁,因为我正在开发,就像
DROP ...
CREATE ...
但是这在第一次运行时出现了架构不存在的问题。我愿做同样的事情到
IF OBJECT_ID ('MySchema') IS NOT NULL
DROP ...
CREATE ...
但OBJECT_ID ('MySchema')
只是返回NULL
。有没有一种合适的方法来测试Sql Server 2005中是否存在已注册的Xml Schema Collection?
muchos格拉西亚斯误吾友:)
答
IF EXISTS (SELECT * FROM sys.xml_schema_collections WHERE name = 'MySchema')
D'哦!感谢您的链接:) – 2009-11-13 21:11:05
为了100%准确,您还需要检查schema_id,因为XML模式集合对象包含(数据库)模式,并且您可能在不同模式中有多个集合(dbo.MySchema,foo.MySchema, bar.MySchema等) – 2009-11-13 21:13:27