SQL Server 2000]1/SQL Server 2005의 기존 테이블에 기본값이 있는 열을 추가하려면 어떻게 해야 하나요?
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES
ALTER TABLE SomeTable
ADD SomeCol Bit NULL --Or NOT NULL.
CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.
선택적 제약 조건 이름:
CONSTRAINT D_SomeTable_SomeCol을 생략하면 SQL Server가 자동 생성합니다; 와 같은 재미있는 이름을 가진 기본 제약 조건을 자동 생성합니다: 'DF__SomeTa__SomeC__4FB7FEF6
선택적 With-Values 문:
'WITH VALUES는 열이 Null 가능한 경우에만 필요합니다; 이고 기존 레코드에 기본값을 사용하려는 경우에만 필요합니다.<br /> 열이
NOT NULL`이면 자동으로 기본값을 사용합니다.
를 지정하든 지정하지 않든 모든 기존 레코드에 대해 기본값을 사용합니다.
기본 제약 조건에서 삽입이 작동하는 방식:
일부 테이블에 레코드를 삽입하고
SomeCol의 값을 지정하지 ***하지*** 않으면 기본값은
0이 됩니다; 레코드를 삽입하고
SomeCol의 값을
NULL로 지정하는 경우(열에서 널을 허용하는 경우),<br /> 그러면 기본 제약 조건이 ***사용되지*** 않고
NULL`이 값으로 삽입됩니다.< br />
참고 사항은 아래 모든 분들의 훌륭한 피드백을 기반으로 작성되었습니다;
특별 감사 대상:
의견을 보내주신 @Yatrix, @WalterStabosz, @YahooSerious, @StackMan.
이렇게 할 수 있어 여러 열 추가할 경우 (예:
ALTER TABLE YourTable
ADD Column1 INT NOT NULL DEFAULT 0,
Column2 INT NOT NULL DEFAULT 1,
Column3 VARCHAR(50) DEFAULT 'Hello'
GO
다음과 같은 방법으로 T-SQL 함께 일을 할 수 있습니다.
ALTER TABLE {TABLENAME}
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL}
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
물론 SQL Server Management Studio 에서 사용할 수 있습니다 또한 오른쪽 클릭하면 설정 메뉴, 테이블 설계에 대한 기본값과 표.
게다가 추가할 경우 같은 열 수 있는 모든 데이터베이스, 테이블) 을 사용할 경우 이 존재하지 않습니다).
USE AdventureWorks;
EXEC sp_msforeachtable
'PRINT ''ALTER TABLE ? ADD Date_Created DATETIME DEFAULT GETDATE();''' ;
Sql Server 에서, 데이터베이스 설계 및 추가 2008 r2 갈 수 있는 테스트 모드 - - 제 2 의 설정을 사용하여 열 디자이너, 브라운아저씨의 gui 를 통해, 그리고 악명 높은 < kbd> right-click< /kbd>;;; , 발령합니다 Script*&quo " 옵션을 변경할 수 있습니다.!
이 경우 제대로 된 백업하도록 조금 있는 창이 나오면 막 보장 투 작업 포맷됩니다 변경하십시오 스크립트입니다. 쉽게 버튼를 선풍적인 인기를 끌었다.
기존 데이터베이스를 추가할 수 있는 테이블을 기본값입니다 열, 이용할 수 있다.
ALTER TABLE [dbo.table_name]
ADD [Column_Name] BIT NOT NULL
Default ( 0 )
여기 다른 길을 열 수 있는 테이블을 기본값입니다 기존 데이터베이스를 추가할 수 있습니다.
훨씬 더 철저한 SQL 스크립트입니다 있는지 확인하는 등 기본 값은 함께 열 추가하기에서는 아래에 있는 열을 추가하기 전에 이 또한 구속 및 드롭하기 체크인 경우. 또한 이 스크립트입니다 이름을 구속 수 있도록 have a nice 명명 규칙 (I like DF_) 과 SQL 부여하느뇨 이름을 가진 않을 경우 미국 구속조건으로 디스크입니다. diskid 무작위로 생성된 번호. 그래서 it& # 39 의 구속을 이름 너무 좋은 수.
-------------------------------------------------------------------------
-- Drop COLUMN
-- Name of Column: Column_EmployeeName
-- Name of Table: table_Emplyee
--------------------------------------------------------------------------
IF EXISTS (
SELECT 1
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table_Emplyee'
AND COLUMN_NAME = 'Column_EmployeeName'
)
BEGIN
IF EXISTS ( SELECT 1
FROM sys.default_constraints
WHERE object_id = OBJECT_ID('[dbo].[DF_table_Emplyee_Column_EmployeeName]')
AND parent_object_id = OBJECT_ID('[dbo].[table_Emplyee]')
)
BEGIN
------ DROP Contraint
ALTER TABLE [dbo].[table_Emplyee] DROP CONSTRAINT [DF_table_Emplyee_Column_EmployeeName]
PRINT '[DF_table_Emplyee_Column_EmployeeName] was dropped'
END
-- ----- DROP Column -----------------------------------------------------------------
ALTER TABLE [dbo].table_Emplyee
DROP COLUMN Column_EmployeeName
PRINT 'Column Column_EmployeeName in images table was dropped'
END
--------------------------------------------------------------------------
-- ADD COLUMN Column_EmployeeName IN table_Emplyee table
--------------------------------------------------------------------------
IF NOT EXISTS (
SELECT 1
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'table_Emplyee'
AND COLUMN_NAME = 'Column_EmployeeName'
)
BEGIN
----- ADD Column & Contraint
ALTER TABLE dbo.table_Emplyee
ADD Column_EmployeeName BIT NOT NULL
CONSTRAINT [DF_table_Emplyee_Column_EmployeeName] DEFAULT (0)
PRINT 'Column [DF_table_Emplyee_Column_EmployeeName] in table_Emplyee table was Added'
PRINT 'Contraint [DF_table_Emplyee_Column_EmployeeName] was Added'
END
GO
이러한 두 가지 방법을 통해 기존 데이터베이스 테이블 기본값입니다 열을 추가합니다.
기본 이름을 명시적으로 구속 필요 없이 추가할 수도 있습니다.
ALTER TABLE [schema].[tablename] ADD DEFAULT ((0)) FOR [columnname]
기존의 기본 제약 (constraint) 이 문제가 있으면 만들 때 그들은 탈착할 수 있는.
alter table [schema].[tablename] drop constraint [constraintname]
이 조치를 취할 수 있는 GUI ssm 잘 알려져 있다. 하지만 기본 날짜 아래에 가르켜 기본값입니다 물론 있는모든 수 있습니다.
ALTER TABLE ADD ColumnName {Column_Type} Constraint
MSDN 문서 ALTER TABLE (Transact-SQL)에 모든 테이블 변경 구문이 나와 있습니다.
CREATE TABLE STUDENT (STUDENT_ID INT NOT NULL)
ALTER TABLE STUDENT
ADD STUDENT_NAME INT NOT NULL DEFAULT(0)
SELECT *
FROM STUDENT
기존 테이블 만들어지고 있는 테이블 기본값입니다 열이 추가됩니다.