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 EXISTS
A partir de SQL Server 2016 SP1: use
OR ALTER
fuente
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 CTP3
puede usar nuevas declaraciones DIE en lugar de grandesIF
contenedoresSintaxis:
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