【问题标题】:Global UDF in SQL SERVERSQL SERVER 中的全局 UDF
【发布时间】:2016-02-18 02:42:49
【问题描述】:

有没有办法或如何使全局 UDF 可以在 SQL Server 中随处访问(只要它在您的服务器范围内)?

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    请注意,作为一般规则,UDF 在 SQL Server 中表现不佳,因为优化器无法正确计算它们的成本。

    如果函数不访问表,您可以通过将其创建为 schemabound 来减少麻烦

    关于手头的问题 - 如何获得全局函数?你不能。您可以通过将全局存储过程放在主数据库中来获取它们,但函数本身的处理方式不同(或过程的处理方式不同 -> 半满或半空)

    我自己可能会走同义词路线

    【讨论】:

    • 好的,我现在知道了@billinkc
    【解决方案2】:

    假设调用 UDF 的人具有适当的权限,您应该能够在任何数据库(包括系统数据库,尽管我会避开)中创建该函数。您可以通过在函数前面加上数据库名称来调用该函数。即

    SELECT * FROM [database].[dbo].[function_name]

    【讨论】:

    • 是的,我明白了这一点,尽管该函数仍归创建它的数据库所有。我实际上正在寻找类似我们可以说 db1、db2、db3 ... 拥有此函数或此功能由所有人共享。不过好点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 2010-09-18
    • 1970-01-01
    相关资源
    最近更新 更多