1
在MS SQL Server 2008(10.50.2811.0)开发人员版(64位)上,在Windows 2008 Server 2008 R2 Standard下运行SQL Server Management Studio会创建多次丢弃相同约束的脚本。使用约束时,MS SQL Server 2008脚本生成会创建无效脚本
一个简单的例子包括两个表tParent和tChild,其中tChild的ParentID引用tParent的ID。该脚本(数据库上下文菜单=>任务=>生成脚本...)生成(用于删除并创建)看起来是这样的:
USE [TestDb]
GO
/****** Object: ForeignKey [FK_tChild_tParent] Script Date: 08/08/2012 08:11:51 ******/
ALTER TABLE [dbo].[tChild] DROP CONSTRAINT [FK_tChild_tParent]
GO
/****** Object: Table [dbo].[tChild] Script Date: 08/08/2012 08:11:51 ******/
ALTER TABLE [dbo].[tChild] DROP CONSTRAINT [FK_tChild_tParent]
GO
DROP TABLE [dbo].[tChild]
GO
/****** Object: Table [dbo].[tParent] Script Date: 08/08/2012 08:11:52 ******/
DROP TABLE [dbo].[tParent]
GO
/****** Object: Table [dbo].[tParent] Script Date: 08/08/2012 08:11:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tParent](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](50) NOT NULL,
[Value] [int] NOT NULL,
CONSTRAINT [PK_tParent] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[tChild] Script Date: 08/08/2012 08:11:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tChild](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ParentID] [int] NOT NULL,
[Name] [varchar](50) NOT NULL,
[Value] [int] NOT NULL,
CONSTRAINT [PK_tChild] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: ForeignKey [FK_tChild_tParent] Script Date: 08/08/2012 08:11:51 ******/
ALTER TABLE [dbo].[tChild] WITH CHECK ADD CONSTRAINT [FK_tChild_tParent] FOREIGN KEY([ParentID])
REFERENCES [dbo].[tParent] ([ID])
GO
ALTER TABLE [dbo].[tChild] CHECK CONSTRAINT [FK_tChild_tParent]
GO
为什么有两个相同的线,这两个尝试删除该FK_tChild_tParent约束?为什么两条线的评论都不一样?
谢谢,所以时间会解决它:-) – Gorgsenegger 2012-11-04 16:38:31