프로그래밍 방식으로 테이블 직원에 신원 열을 추가하려고합니다. 구문에서 내가 뭘 잘못하고 있는지 잘 모르겠습니다.
ALTER TABLE Employees
ADD COLUMN EmployeeID int NOT NULL IDENTITY (1, 1)
ALTER TABLE Employees ADD CONSTRAINT
PK_Employees PRIMARY KEY CLUSTERED
(
EmployeeID
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
내가 뭘 잘못하고 있죠? 스크립트를 내보내려고했지만 SQL Mgmt Studio는 전체 임시 테이블 이름 바꾸기 작업을 수행합니다.
업데이트 : 나는 “키워드 ‘COLUMN’근처의 구문이 잘못되었습니다.”
답변
그냥 삭제 COLUMN
에서ADD COLUMN
ALTER TABLE Employees
ADD EmployeeID numeric NOT NULL IDENTITY (1, 1)
ALTER TABLE Employees ADD CONSTRAINT
PK_Employees PRIMARY KEY CLUSTERED
(
EmployeeID
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
답변
이것이 테이블에 새 열 추가 방법입니다
ALTER TABLE [tableName]
ADD ColumnName Datatype
예 :
ALTER TABLE [Emp]
ADD Sr_No Int
그리고 자동으로 늘리려면
ALTER TABLE [Emp]
ADD Sr_No Int IDENTITY(1,1) NOT NULL
답변
테이블에 열을 추가하는 올바른 구문은 다음과 같습니다.
ALTER TABLE table_name
ADD column_name column-definition;
귀하의 경우에는 다음과 같습니다.
ALTER TABLE Employees
ADD EmployeeID int NOT NULL IDENTITY (1, 1)
여러 열을 추가하려면 괄호를 사용하십시오.
ALTER TABLE table_name
ADD (column_1 column-definition,
column_2 column-definition,
...
column_n column_definition);
COLUMN
SQL SERVER의 키워드는 다음 변경에만 사용됩니다.
ALTER TABLE table_name
ALTER COLUMN column_name column_type;
답변
순서를 변경하는 것보다 테이블의 시작 부분에 열을 추가하려는 경우 임시 테이블 이름 바꾸기를 수행 할 수 있습니다. 또한 Employees 테이블에 데이터가있는 경우, select *를 삽입하여 EmployeeID를 계산해야합니다.