Consultas SQL Server II – Eliminando funciones y procedimientos


¿Como podemos eliminar un procedimiento o función si existe en SQL Server?

Para ello utilizaremos la función OBJECT_ID() de SQL Server

Esta función admite varios valores pero los que necesitamos son los dos primeros.

OBJECT_ID(‘esquema.tabla’, ‘tipo’)

Dónde el tipo puede ser uno de los siguientes:

  • Procedure: “P”
  • Función (scalar function) que devuelve un valor – FN
  • Función (Inline table valued function) donde devuelve el resultado directamente de una select, sería un paralelo a una vista-> IF
  • Función (multi statement table valued function) donde devuelve una tabla pero puede existir mas de una consulta dentro de la función -> TF
  • Functión (assembly <clr> table-valued function) función que utiliza una tabla intermedia para devolver valores. -> FT

Ejemplo destruyendo un Procedimiento

IF OBJECT_ID('esquema.tabla', 'P') IS NOT NULL DROP PROCEDURE esquema.tabla;
GO

Ejemplo destruyendo una función

IF OBJECT_ID('esquema.tabla', 'FN') IS NOT NULL DROP FUNCTION esquema.tabla;
GO

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.