[sql] 테이블 추가 열 구문 변경

프로그래밍 방식으로 테이블 직원에 신원 열을 추가하려고합니다. 구문에서 내가 뭘 잘못하고 있는지 잘 모르겠습니다.

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를 계산해야합니다.


답변