我在单个数据库中安装了一组自定义 CLR 函数。当我需要在另一个数据库的查询/视图/过程中使用这些函数时,我只需通过三部分名称引用它们[db].[schema].[function]()
,它就可以正常工作。
但是由于错误,我不能在计算列中使用它们4120
A user-defined function name cannot be prefixed with a database name in this context
。
当然,使用两部分名称在同一数据库上添加计算列是没有问题的[schema].[function]()
。
任何想法如何解决这个问题?也许我可以在每个其他数据库中创建某种“快捷方式”函数来引用“原始”函数?或者我是否可以将这些函数安装在一个系统数据库中,使我能够仅使用函数的名称来调用函数,就像left()
or一样substring()
?
现在,我用来更新和安装新函数的脚本在我需要这些函数的每个数据库以及model
db 中执行相同的操作。但我希望有更优雅的方式来做到这一点。