【发布时间】:2016-02-18 02:42:49
【问题描述】:
有没有办法或如何使全局 UDF 可以在 SQL Server 中随处访问(只要它在您的服务器范围内)?
【问题讨论】:
标签: sql-server
有没有办法或如何使全局 UDF 可以在 SQL Server 中随处访问(只要它在您的服务器范围内)?
【问题讨论】:
标签: sql-server
请注意,作为一般规则,UDF 在 SQL Server 中表现不佳,因为优化器无法正确计算它们的成本。
如果函数不访问表,您可以通过将其创建为 schemabound 来减少麻烦
关于手头的问题 - 如何获得全局函数?你不能。您可以通过将全局存储过程放在主数据库中来获取它们,但函数本身的处理方式不同(或过程的处理方式不同 -> 半满或半空)
我自己可能会走同义词路线
【讨论】:
假设调用 UDF 的人具有适当的权限,您应该能够在任何数据库(包括系统数据库,尽管我会避开)中创建该函数。您可以通过在函数前面加上数据库名称来调用该函数。即
SELECT * FROM [database].[dbo].[function_name]
【讨论】: