외래 키 제약 조건을 테이블에서 삭제하고 싶지만 어떤 테이블인지는 확실하지 않습니다. 나는이 정보를 가지고있다. 스크린 샷을 확인하십시오 외래 키 제약 조건을 삭제하는 방법
테이블을 삭제하려고하지만 일부 FK 제약으로 인해 드롭하지 못하게하려고합니다. 내가 삭제할 표는 'ZIP_Codes'
외래 키 제약 조건을 테이블에서 삭제하고 싶지만 어떤 테이블인지는 확실하지 않습니다. 나는이 정보를 가지고있다. 스크린 샷을 확인하십시오 외래 키 제약 조건을 삭제하는 방법
테이블을 삭제하려고하지만 일부 FK 제약으로 인해 드롭하지 못하게하려고합니다. 내가 삭제할 표는 'ZIP_Codes'
SELECT CAST(F.NAME AS VARCHAR(255)) AS FOREIGN_KEY_NAME
, CAST(P.NAME AS VARCHAR(255)) AS PARENT_TABLE
FROM SYSOBJECTS F
INNER JOIN SYSREFERENCES R ON F.ID = R.CONSTID
INNER JOIN SYSOBJECTS P ON R.RKEYID = P.ID
INNER JOIN SYSCOLUMNS RC ON R.RKEYID = RC.ID AND R.RKEY1 = RC.COLID
WHERE F.TYPE = 'F'
이 시도 외래 키 이름과 참조 테이블 이름을 줄 것이다이 쿼리 :
DECLARE @parent_object_id int;
DECLARE @TableName varchar(255);
SET @parent_object_id = 1234103437;
SELECT @TableName = OBJECT_NAME(object_id)
FROM sys.objects
Where object_id = @parent_object_id;
ALTER TABLE [TableName] DROP CONSTRAINT [ForeignKeyName]
당신은 SQL 서버 관리를 사용하는 경우 Studio,
테이블을 마우스 오른쪽 버튼으로 클릭하고 View Dependencies
을 클릭하면 테이블에 종속 된 모든 opjects를 알 수 있습니다. 또한 테이블이있는 개체 해당 옵션 버튼을 선택하여 달라집니다.
당신이하기 전에 당신이 떨어 뜨리고있는 개체와 그들이 갖고있는 중요성을 알면 좋습니다.
select object_schema_name([parent_object_id]), object_name([parent_object_id]), [name]
from sys.foreign_keys
where referenced_object_id = object_id('ZIP_Codes')
: