Pergunta

Escrevendo scripts para o SQL Server 2005. Estou registrando um esquema com

CREATE XML SCHEMA COLLECTION [dbo].[MySchema] AS N'<xsd:schema ... >'

Agora, enquanto eu faço mudanças, gostaria de abandoná -lo, digamos com uma chamada para

DROP XML SCHEMA COLLECTION [dbo].[MySchema]

Eu corro essas coisas com bastante frequência enquanto estou desenvolvendo, como

DROP ...
CREATE ... 

Mas isso apresenta problemas em uma primeira corrida em que o esquema não existe. Eu gostaria de fazer algo semelhante a

IF OBJECT_ID ('MySchema') IS NOT NULL
    DROP ...
CREATE ...

mas OBJECT_ID ('MySchema') Apenas retorna NULL. Existe uma maneira adequada de testar a existência de uma coleção de esquema XML registrada no SQL Server 2005?

Muchos Gracias Mis Amigos :)

Foi útil?

Solução

Verificar sys.xml_schema_collections:

IF EXISTS (SELECT * FROM sys.xml_schema_collections WHERE name = 'MySchema')
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top