私は彼らがうまく機能しているデータベースを備えたアプリケーションを持っていて、すべてがうまくいっています。
ここで、データベース内の1つのテーブルに列を追加して、テーブルを変更する必要があります。私はSQLServerを使用していますが、データベース管理者から、そのテーブルを変更するスクリプトを提供するように依頼されました。
それで、それをどのように行うのですか?
SQL Server Management Studioを使用しており、テーブルを右クリックすると、作成するスクリプトを選択していました。ManagementStudioからスクリプトが提供されます。さて、このテーブルには情報があるので、このテーブルにcreateスクリプトを使用するべきではないと思います。
新しい列はnull値を許可する必要があります。
だから私は何を使うべきですか?
参考までに、テーブルを作成するためのスクリプトは次のとおりです。
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,