DROP XML SCHEMA COLLECTION (Transact-SQL)

Applies to: SQL Server Azure SQL Managed Instance

Deletes the whole XML schema collection and all of its components.

Transact-SQL syntax conventions

Syntax

DROP XML SCHEMA COLLECTION [ relational_schema. ]sql_identifier  

Arguments

relational_schema
Identifies the relational schema name. If not specified, the default relational schema is assumed.

sql_identifier
Name of the XML schema collection to drop.

Remarks

Dropping an XML schema collection is a transactional operation. When you drop an XML schema collection inside a transaction and later roll back the transaction, the XML schema collection isn't dropped.

You can't drop an XML schema collection when it's in use. So, the collection being dropped can't be in any of the following conditions:

  • Associated with any xml type parameter or column.

  • Specified in any table constraints.

  • Referenced in a schema-bound function or stored procedure. For example, the following function locks the XML schema collection MyCollection because the function specifies WITH SCHEMABINDING. If you remove it, there's no lock on the XML SCHEMA COLLECTION.

    CREATE FUNCTION dbo.MyFunction()  
    RETURNS int  
    WITH SCHEMABINDING  
    AS  
    BEGIN  
       /* some code may go here */
       DECLARE @x XML(MyCollection)  
       /* more code may go here */
    END;  
    

Permissions

To drop an XML SCHEMA COLLECTION requires DROP permission on the collection.

Examples

The following example shows removing an XML schema collection.

DROP XML SCHEMA COLLECTION ManuInstructionsSchemaCollection;  
GO  

See Also

CREATE XML SCHEMA COLLECTION (Transact-SQL)
ALTER XML SCHEMA COLLECTION (Transact-SQL)
EVENTDATA (Transact-SQL)
Compare Typed XML to Untyped XML
Requirements and Limitations for XML Schema Collections on the Server