次のシナリオで部分的なデータベースプロジェクトを使用できますか?
私は、すべて相互に依存している多数のデータベースを持っています。Database2はDatabase1とDatabase3でSPを実行し、Database3はDatabase2でSPを実行します。例えば:
データベース1は次のように定義できます。
CREATE TABLE [dbo].[X]
(
Id int NOT NULL,
X int NULL
)
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
SELECT * FROM [dbo].[X]
END
データベース2は次のように定義できます。
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
EXEC [Database1].[dbo].[GetX]
END
CREATE PROCEDURE [dbo].[GetXY]
AS
BEGIN
EXEC [dbo].[GetX]
EXEC [Database3].[dbo].[GetY]
END
データベース3は次のように定義できます。
CREATE TABLE [dbo].[Y]
(
Id int NOT NULL,
Y int NULL
)
CREATE PROCEDURE [dbo].[GetX]
AS
BEGIN
EXEC [Database2].[dbo].[GetX]
END
CREATE PROCEDURE [dbo].[GetY]
AS
BEGIN
SELECT * FROM [dbo].[Y]
END
Database2はDatabase3に依存し、Database3はDatabase2に依存しているため、循環参照があります。Database2をベースオブジェクトと外部オブジェクトの間で分離した場合でも、外部プロジェクトの循環参照があるため、部分的なプロジェクトがここでどのように役立つかはわかりません。ですから、私が理解しているように、これは許可されていません。
説明をお詫びします。データベースも私の頭を痛めています。必要に応じて、もっと冗長にしようと思います。