Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Check for existence of an XML Schema Collection?

writing scripts for Sql Server 2005. I am registering a schema with

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

Now, as I make changes, I would like to drop it, say with a call to

DROP XML SCHEMA COLLECTION [dbo].[MySchema]

I run this stuff fairly frequently as I am developing, like

DROP ...
CREATE ... 

but this presents problems on a first-run where the Schema does not exist. I would like to do something similar to

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

but OBJECT_ID ('MySchema') just returns NULL. Is there a proper way to test for existence of a registered Xml Schema Collection in Sql Server 2005?

muchos gracias mis amigos :)

like image 879
johnny g Avatar asked Dec 17 '22 04:12

johnny g


1 Answers

Check sys.xml_schema_collections:

IF EXISTS (SELECT * FROM sys.xml_schema_collections WHERE name = 'MySchema')
like image 61
Remus Rusanu Avatar answered Jan 05 '23 11:01

Remus Rusanu