이름을 모르고 SQL 기본 제약 조건 삭제
SQL Server에서 기본 제약 조건은 자동으로 할당될 값을 지정하는 방법입니다. 다른 값이 제공되지 않은 경우 열에 추가됩니다. 그러나 기본 제약 조건 이름을 알 수 없거나 잘못 입력한 상황이 있을 수 있습니다.
과제
기본 제약 조건을 삭제하려면 ALTER TABLE DROP CONSTRAINT 구문을 사용하세요. 제약 조건 이름을 지정해야 합니다. 안타깝게도 기본 제약 조건에 대한 정보는 INFORMATION_SCHEMA 테이블을 통해 쉽게 확인할 수 없습니다.
해결책
이 문제를 극복하는 한 가지 접근 방식은 동적 SQL을 사용하여 명령을 생성하는 것입니다. 스키마, 테이블 및 열 이름을 기반으로 제약 조건을 삭제합니다. 예는 다음과 같습니다.
declare @schema_name nvarchar(256) declare @table_name nvarchar(256) declare @col_name nvarchar(256) declare @Command nvarchar(1000) set @schema_name = N'MySchema' set @table_name = N'Department' set @col_name = N'ModifiedDate' select @Command = 'ALTER TABLE ' + @schema_name + '.[' + @table_name + '] DROP CONSTRAINT ' + d.name from sys.tables t join sys.default_constraints d on d.parent_object_id = t.object_id join sys.columns c on c.object_id = t.object_id and c.column_id = d.parent_column_id where t.name = @table_name and t.schema_id = schema_id(@schema_name) and c.name = @col_name execute (@Command)
이 스크립트는 제공된 정보를 기반으로 필요한 ALTER TABLE DROP CONSTRAINT 명령을 동적으로 생성하고 이를 실행하여 정확한 이름을 요구하지 않고 기본 제약 조건을 제거합니다.
By 동적 SQL을 활용하는 이 방법을 사용하면 사전 지식이나 잘못된 제약 조건 이름으로 인한 잠재적인 오류 없이 기본 제약 조건을 제거할 수 있습니다.
위 내용은 이름을 모르고 SQL Server 기본 제약 조건을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!