planteamiento del Problema –

en la Actualidad uno de los más irritantes cosas en SQL, es explícitamente comprobar si existe un objeto antes de que se caiga.

mientras escribo un script/procedimiento almacenado de TSQL, ha habido varias veces cuando intento soltar una columna / tabla/disparador/índice/usuario, y obtener el temido mensaje de error –
Nombre de objeto no válido ‘nombre_objeto’

¿Este mensaje de error le parece familiar?,

nueva sintaxis en SQL Server 2016 –

como parte de las mejoras de TSQL, SQL Server 2016 introduce una nueva cláusula –

DROP IF EXISTS que elimina condicionalmente la columna o restricción solo si ya existe.
si el objeto no existe, NO lanzará ningún error y la ejecución de TSQL continuará.

COLOCAR OBJECT_TYPE OBJECT_NAME

Esta sintaxis es muy sencilla y limpia.,

esta sintaxis se aplica a – Database, Table, Function, Trigger, Stored Procedure, Column, User, View, Schema, Index , Role

Lets look at a demonstration for this new syntax —

First lets create a test table and insert few records into it –

antes de SQL Server 2016, siempre teníamos que comprobar explícitamente si el objeto existe, y entonces déjalo. Hay un par de maneras en las que podemos hacer esto., Sin embargo, con la llegada de SQL Server 2016, podemos realizar muy fácilmente esta operación con una sintaxis simple –

También podemos aprovechar esta nueva instrucción para nuestras consultas DML, para soltar columnas/restricciones, según sea necesario., Ver a continuación —

he cargado todo el Script SQL, utilizado para el propósito de este artículo, en este enlace en GITHUB

conclusión –

exists es una simple mejora de T-SQL en SQL Server 2016, pero estoy seguro de que sería una de las sintaxis más utilizadas en el día a día de un desarrollador de T-SQL.,

Artículos relacionados en SQL Server 2016 –

  • enmascaramiento dinámico de datos en SQL Server 2016
  • viajes en el tiempo en SQL Server 2016 con tablas temporales
  • Soporte JSON incorporado en SQL Server 2016
  • comparar planes de ejecución en SQL Server 2016
  • Tienda de consultas en SQL Server 2016
  • estadísticas de consultas en vivo en SQL Server 2016