我有一个带有数据库的应用程序,它们运行良好,一切都很好。
现在,我只需要通过添加更多列来修改数据库中的一个表。我正在使用 SQL Server,数据库管理员要求我向他提供修改该表的脚本。
那么该怎么做呢?
我正在使用 SQL Server Management Studio,当我单击表右键单击时,我曾经选择要创建的脚本,Management Studio 会给我脚本。现在,这个表有信息,所以我认为我不应该为这个表使用创建脚本。
新列应允许空值。
那我应该用什么?
供您参考,这里是创建表的脚本:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Test](
[ID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
[No] [char](20) NOT NULL,
[Date] [smalldatetime] NULL,
[ProjectType] [char](500) NULL,
[ProjectPhase] [char](300) NULL,
[rejected_reason] [varchar](max) NULL,
[archived_reason] [varchar](max) NULL,
[forward_to] [varchar](max) NULL,
[forward_type] [varchar](max) NULL,
[forward_concern] [varchar](max) NULL,
CONSTRAINT [PK_Test] 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] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_LLATestB_No] DEFAULT ('*') FOR [No]
GO
ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_LLATestB_Status] DEFAULT ((2)) FOR [Status]
GO
ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_LLATestB_AID] DEFAULT ((0)) FOR [AID]
GO
ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_LLATestB_Hit] DEFAULT ((0)) FOR [Hit]
GO
ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_LLATestB_Sent] DEFAULT ((0)) FOR [Sent]
GO
ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_LLATestB_SentTo] DEFAULT ((0)) FOR [SentTo]
GO
ALTER TABLE [dbo].[Test] ADD CONSTRAINT [DF_LLa_Added_To_Cart] DEFAULT ((0)) FOR [Added_To_Cart]
GO
应添加到此表的新列示例如下:
[rejected_reason] [varchar](max) NULL,
[archived_reason] [varchar](max) NULL,
[forward_to] [varchar](max) NULL,
[forward_type] [varchar](max) NULL,