我需要查明数据库中是否存在某个函数,以便我可以删除它并重新创建它。它基本上应该类似于我用于存储过程的以下代码:
IF EXISTS (
SELECT *
FROM dbo.sysobjects
WHERE id = OBJECT_ID(N'[dbo].[SP_TEST]')
AND OBJECTPROPERTY(id, N'IsProcedure') = 1 )
最佳答案
这就是当您使用DROP 和 CREATE
选项编写脚本时 SSMS 使用的内容
IF EXISTS (SELECT *
FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[foo]')
AND type IN ( N'FN', N'IF', N'TF', N'FS', N'FT' ))
DROP FUNCTION [dbo].[foo]
GO
这种部署更改的方法意味着您需要重新创建对象的所有权限,因此您可以考虑ALTER
-ing if Exists。
关于sql - 如何检查SQL数据库中是否存在函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5419082/