1

我可以在以下场景中使用部分数据库项目吗?

我有许多相互依赖的数据库。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 和 Database2 上的 Database3,所以存在循环引用。我不确定部分项目在这里对我有什么帮助,因为如果我将 Database2 在基础对象和外部对象之间分开,我仍然会对外部项目进行循环引用。据我了解,这是不允许的。

为解释道歉,数据库也让我头疼。如果需要,我会尝试更详细。

4

1 回答 1

0

http://social.msdn.microsoft.com/Forums/en/vstsdb/thread/8357d599-9d03-4ed6-879f-e090f9c96fcd已经有效地回答了这个问题

简而言之,对于示例这样的简单场景,这将起作用,但对于复杂程度而言,所需的管理将阻止使用数据库项目。

我们仍然计划使用 VS 生成所需的目标文件,以便存储在 TFS 中。不幸的是,我们将无法构建部署脚本。

于 2011-07-20T12:53:14.217 回答