내가 가진 테이블의 모든 제약 조건을 삭제하려고합니다. 이 작업이 완료동적으로 생성 된 SQL 문을 실행하는 방법
SELECT 'ALTER TABLE ' + TABLE_SCHEMA + '.[' + TABLE_NAME + '] DROP CONSTRAINT [' + CONSTRAINT_NAME + ']'
FROM information_schema.table_constraints
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
AND TABLE_NAME LIKE 'Old_%''
, 내가 할 수있는 '이 이후 는 SQL 서버에서 가능하지, 내가 스크립트를 생성 한 선택의 결과로 동적 드롭 문을 만드는 (일 온라인으로 볼 기준) 그것을 파싱하고 루프에서 실행하는 방법을 찾으십시오.
내 시도는이 같은 커서를 만드는 것입니다,하지만 난 그게 각 라인을 실행하기 위해 다음 단서가 없다 :
DECLARE @AlterTables nvarchar(2000)
SET @AlterTables = 'DECLARE Dyn_cursor CURSOR
FOR SELECT ''ALTER TABLE '' + TABLE_SCHEMA + ''.['' + TABLE_NAME + ''] DROP CONSTRAINT ['' + CONSTRAINT_NAME + '']''
FROM information_schema.table_constraints
WHERE CONSTRAINT_TYPE = ''FOREIGN KEY''
AND TABLE_NAME LIKE ''Old_%'''
Exec(@AlterTables)
Open Dyn_Cursor
FETCH NEXT FROM Dyn_Cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
END
Close Dyn_cursor
Deallocate Dyn_cursor
가 사전에 감사하는위한 솔루션을 것 누구를!
환호
J.