반응형
SQL Server에서 외부 키를 드롭하려면 어떻게 해야 합니까?
다음 방법으로 (SQL Server에) 외부 키를 작성했습니다.
alter table company add CountryID varchar(3);
alter table company add constraint Company_CountryID_FK foreign key(CountryID)
references Country;
그런 다음 다음 쿼리를 실행합니다.
alter table company drop column CountryID;
다음의 에러가 표시됩니다.
메시지 5074, 레벨 16, 스테이트 4, 라인 2
오브젝트 'Company_Country'ID_FK'는 '국가' 열에 종속되어 있습니다.신분증.
메시지 4922, 레벨 16, 스테이트 9, 라인 2
테이블 드롭 열 변경 국가하나 이상의 개체가 이 열에 액세스하기 때문에 ID가 실패했습니다.
시도해 봤지만 효과가 없는 것 같습니다.
alter table company drop foreign key Company_CountryID_FK;
alter table company drop column CountryID;
드롭하려면 어떻게 해야 하나요?CountryID
열?
감사해요.
해라
alter table company drop constraint Company_CountryID_FK
alter table company drop column CountryID
이 조작은 유효합니다.
ALTER TABLE [dbo].[company] DROP CONSTRAINT [Company_CountryID_FK]
이게 너에게 도움이 될 것 같은데...
DECLARE @ConstraintName nvarchar(200)
SELECT
@ConstraintName = KCU.CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU
ON KCU.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG
AND KCU.CONSTRAINT_SCHEMA = RC.CONSTRAINT_SCHEMA
AND KCU.CONSTRAINT_NAME = RC.CONSTRAINT_NAME
WHERE
KCU.TABLE_NAME = 'TABLE_NAME' AND
KCU.COLUMN_NAME = 'TABLE_COLUMN_NAME'
IF @ConstraintName IS NOT NULL EXEC('alter table TABLE_NAME drop CONSTRAINT ' + @ConstraintName)
특정 테이블 및 열을 기준으로 외부 키 제약 조건을 삭제합니다.
제약조건의 존재를 먼저 확인한 후 삭제합니다.
if exists (select 1 from sys.objects where name = 'Company_CountryID_FK' and type='F')
begin
alter table company drop constraint Company_CountryID_FK
end
alter table company drop constraint Company_CountryID_FK
MSSQL을 모르는데 다음 항목이 아닐까요?
alter table company drop **constraint** Company_CountryID_FK;
테이블을 우클릭하여 [수정]를 선택하고 속성으로 이동하여 우클릭 후 [프라이머리 키 드롭]를 선택할 수도 있습니다.
FK 구속조건을 삭제하시겠습니까, 아니면 열 자체를 삭제하시겠습니까?
구속조건을 해제하려면:
alter table company drop constraint Company_CountryID_FK
제약 조건을 해제할 때까지 열을 삭제할 수 없습니다.
언급URL : https://stackoverflow.com/questions/93264/how-do-i-drop-a-foreign-key-in-sql-server
반응형
'programing' 카테고리의 다른 글
T-SQL 캐스트와 변환 (0) | 2023.04.07 |
---|---|
대용량 MS SQL .sql 파일을 Import하려면 어떻게 해야 합니까? (0) | 2023.04.07 |
SSMS 2008의 "Edit Top 200 Rows"에서 SQL을 변경하는 방법 (0) | 2023.04.07 |
언제 이너 조인에 크로스 적용을 사용해야 하나요? (0) | 2023.04.07 |
SQL Server에서 JOIN을 사용하여 UPDATE 문을 실행하려면 어떻게 해야 합니까? (0) | 2023.04.07 |