如何在多个SQL Server数据库上运行函数?

时间:2012-12-31 17:15:49

标签: function sql-server-2005

我有一个在SQL Server中返回单行的函数。现在我在该服务器上有几个(大约几百个)具有相同表结构的数据库。我想在所有数据库上运行该函数。是否有必要在每个数据库中创建函数,还是有其他方式?

这是在SQL Server 2005上,顺便说一句。

我不能自由发布实际的函数,但它只是一个返回行的SQL Server函数。与此相似的东西

ALTER FUNCTION [dbo].[getTotalOrdersByProductID](@ProductID bigint, @month varchar(100), @year varchar(100))
RETURNS @retTotalOrder TABLE
(
    ProductID BIGINT primary key,
    total int
)
AS
BEGIN;

    INSERT @retTotalOrder
    SELECT ProductID, count(*) AS total
    FROM
    PRODUCTS
    WHERE PRODUCTS.orderdate BETWEEN firstDayOfMonth(@month, @year) AND lastDayOfMonth(@month, @year)
    GROUP BY ProductID

    RETURN


END;

1 个答案:

答案 0 :(得分:0)

使用.表示法

SELECT * FROM Server.Database1.dbo.TableName WHERE example = 12345

SELECT * FROM Server.Database2.dbo.TableName WHERE example = 12345

您可以UNION结果,取决于您对功能的要求。