jop*_*hab 3 sql t-sql sql-server
我在尝试删除一些用户定义函数时遇到此错误。
Msg 3729, Level 16, State 1, Line 13
Cannot DROP FUNCTION 'dbo.testfn2' because it is being referenced by object 'testtable2'.
Msg 3729, Level 16, State 1, Line 14
Cannot DROP FUNCTION 'dbo.testfn' because it is being referenced
by object 'DF__testtable__idc__5CD6CB2B'.
Run Code Online (Sandbox Code Playgroud)
出现此错误的原因之一是某些列在其默认约束中使用该函数。
我尝试删除所有默认约束。
但除此之外还有其他原因。
还有哪些其他可能性?
要显示依赖关系,您可以使用sp_depends过程:
exec sp_depends 'dbo.YourFunc'
Run Code Online (Sandbox Code Playgroud)
或者,调用sys.dm_sql_referencing_entities表值函数:
SELECT * FROM sys.dm_sql_referencing_entities('dbo.YourFunc','OBJECT')
Run Code Online (Sandbox Code Playgroud)