Programing

SQL Server의 열 추가 문에서 명명 된 기본 제약 조건을 만들 수 있습니까?

crosscheck 2020. 6. 24. 07:39
반응형

SQL Server의 열 추가 문에서 명명 된 기본 제약 조건을 만들 수 있습니까?


SQL Server에서 테이블에 새 열이 있습니다.

ALTER TABLE t_tableName 
    ADD newColumn NOT NULL

기본 제약 조건을 지정하지 않고 NOT NULL을 지정하기 때문에 실패합니다. 테이블에는 기본 제약 조건이 없어야합니다.

이 문제를 해결하기 위해 기본 제약 조건으로 테이블을 만든 다음 제거 할 수 있습니다.

그러나 기본 제약 조건을이 문의 일부로 지정해야한다고 지정할 수있는 방법이없는 것이므로이를 제거하는 유일한 방법은 sys.default_constraints에서 찾는 저장 프로 시저를 사용하는 것입니다. 표.

이것은 많은 일이 일어날 수있는 작업에 약간 혼란스럽고 장황합니다. 누구든지 이것에 대한 더 나은 해결책이 있습니까?


이것은 작동해야합니다 :

ALTER TABLE t_tableName 
    ADD newColumn VARCHAR(50)
    CONSTRAINT YourContraintName DEFAULT '' NOT NULL

ALTER TABLE t_tableName 
    ADD newColumn int NOT NULL
        CONSTRAINT DF_defaultvalue DEFAULT (1)

참고 : https://stackoverflow.com/questions/3770015/can-i-create-a-named-default-constraint-in-an-add-column-statement-in-sql-server

반응형