집 >데이터 베이스 >MySQL 튜토리얼 >이름을 알 수 없는 경우 SQL Server에서 기본 제약 조건을 삭제하는 방법은 무엇입니까?
Microsoft SQL Server에서 이름을 알 수 없는 기본 제약 조건 삭제
이 질문은 이름이 다음과 같은 경우 SQL 테이블에서 기본 제약 조건을 제거하는 문제를 해결합니다. 잠재적인 오타로 인해 알 수 없습니다. 사용자가 제공한 기존 쿼리는 실행을 위해 정확한 제약 조건 이름이 필요하며 이는 특정 상황에서 문제가 될 수 있습니다.
해결책
제안된 해결 방법은 다음과 같습니다. 제공된 테이블, 열 및 스키마 정보를 기반으로 제약 조건을 삭제하는 동적 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 --print @Command execute (@Command)
이 코드는 특정 스키마의 특정 테이블 및 열에 대한 기본 제약 조건을 삭제하는 데 필요한 SQL 명령을 생성합니다. 명령은 제공된 매개변수를 기반으로 동적으로 생성되므로 제약 조건 이름을 알 수 없는 경우에도 SQL 오류 없이 실행할 수 있습니다.
위 내용은 이름을 알 수 없는 경우 SQL Server에서 기본 제약 조건을 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!