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 に答える