Sé que esto debe ser simple, pero ¿cómo presento la creación de una función con una verificación para ver si ya existe? Si existe, quiero soltarlo y volver a crearlo.
tsql
sql-server-2000
DavidStein
fuente
fuente

También puede buscar el nombre en sysobjects
En realidad, si la función podría ser una función de tabla, debe usar
fuente
Esto funciona para cualquier objeto, no solo para funciones:
luego simplemente agregue su sabor de objeto, como en:
fuente
Tiene dos opciones para eliminar y volver a crear el procedimiento en SQL Server 2016.
A partir de SQL Server 2016: use
IF EXISTSA partir de SQL Server 2016 SP1: use
OR ALTERfuente
fuente
Por lo general, evito las consultas de las tablas de tipo sys *, los proveedores tienden a cambiarlas entre versiones, principales o de otro tipo. Lo que siempre he hecho es emitir la
DROP FUNCTION <name>declaración y no preocuparme por cualquier error de SQL que pueda volver. Considero ese procedimiento estándar en el ámbito de DBA.fuente
Desde
SQL Server 2016 CTP3puede usar nuevas declaraciones DIE en lugar de grandesIFcontenedoresSintaxis:
Consulta:
Más info aquí
fuente
fuente
Aquí está mi opinión sobre esto:
fuente
Compruebe si existe para la función
Verifique si existe para el procedimiento almacenado, función también haciendo clic en el enlace siguiente http://www.gurujipoint.com/2017/05/check-if-exist-for-trigger-function-and.html
fuente
Si desea utilizar el estándar de SQL ISO INFORMATION_SCHEMA y no el específico de SQL Server
sysobjects, puede hacer esto:fuente