DROP [OBJECT] IF EXISTS

En SQL 2016 es más practico ahora eliminar objetos, que como se solía realizar, anteriormente para borrar por ejemplo una tabla usábamos:

 
Use northwind
go
IF OBJECT_ID(‘dbo.Customers’, ‘U’) IS NOT NULL
 DROP TABLE dbo.Customers;
 
IF EXISTS (SELECT * FROM sys.triggers WHERE name = ‘trcustomerInsert’)
 DROP TRIGGER trcustomerInsert
 

Ahora podemos reducir líneas de código de la siguiente manera.

 
DROP TABLE IF EXISTS dbo.Customers
DROP TRIGGER IF EXISTS trcustomerInsert
 

 
Si no existe el objeto, DIE no va a fallar y la ejecución continuará. Los objetos que se pueden destruir:

·         AGGREGATE
·         PROCEDURE
·         TABLE
·         ASSEMBLY
·         ROLE
·         TRIGGER
·         VIEW
·         RULE
·         TYPE
·         DATABASE
·         SCHEMA
·         USER
·         DEFAULT
·         SECURITY POLICY
·         VIEW
·         FUNCTION
·         SEQUENCE
·         INDEX
·         SYNONYM
 

Fuente: https://blogs.msdn.microsoft.com/sqlserverstorageengine/2015/11/03/drop-if-exists-new-thing-in-sql-server-2016/

Leave a Reply

Your email address will not be published. Required fields are marked *