Проверить наличие коллекции XML-схем? - PullRequest
4 голосов
/ 13 ноября 2009

написание скриптов для Sql Server 2005. Я регистрирую схему с

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. Есть ли правильный способ проверить наличие зарегистрированной коллекции схем XML в Sql Server 2005?

muchos gracias mis amigos:)

1 Ответ

12 голосов
/ 13 ноября 2009

Проверка sys.xml_schema_collections :

IF EXISTS (SELECT * FROM sys.xml_schema_collections WHERE name = 'MySchema')
...