Eu sei que isso deve ser simples, mas como prefácio a criação de uma função com uma verificação para ver se ela já existe? Se ele existir, quero descartá-lo e recriá-lo.
tsql
sql-server-2000
DavidStein
fonte
fonte
Você também pode procurar o nome em sysobjects
Na verdade, se a função pode ser uma função de tabela, você precisa usar
fonte
Isso funciona para qualquer objeto, não apenas funções:
em seguida, basta adicionar o sabor do objeto, como em:
fonte
Você tem duas opções para descartar e recriar o procedimento no SQL Server 2016.
A partir do SQL Server 2016 - use
IF EXISTS
A partir do SQL Server 2016 SP1 - use
OR ALTER
fonte
fonte
Eu geralmente evito consultas em tabelas do tipo sys *, os fornecedores tendem a alterá-las entre os lançamentos, principais ou não. O que sempre fiz é emitir a
DROP FUNCTION <name>
instrução e não me preocupar com nenhum erro de SQL que possa retornar. Considero esse procedimento padrão no domínio DBA.fonte
De
SQL Server 2016 CTP3
você pode usar novas instruções DIE em vez de grandesIF
invólucrosSintaxe:
Inquerir:
Mais informações aqui
fonte
fonte
Aqui está minha opinião sobre isso:
fonte
Verifique se existe para a função
Verifique se existe procedimento armazenado, Função também clicando no link abaixo http://www.gurujipoint.com/2017/05/check-if-exist-for-trigger-function-and.html
fonte
Se quiser usar o padrão SQL ISO INFORMATION_SCHEMA e não o específico do SQL Server
sysobjects
, você pode fazer isso:fonte