1

我有一个在 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;
4

1 回答 1

0

使用.符号

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

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

你可以UNION得到结果,这取决于你想要从你的功能中得到什么。

于 2012-12-31T17:33:19.927 回答