SQL Server 禁用外键约束和启用外键约束及删除表数据

来源:互联网 发布:淘宝官方的数据工具 编辑:程序博客网 时间:2024/05/22 17:31
--禁止约束DECLARE DEL_CONSTRAINT CURSOR FORSELECT 'ALTER TABLE '+OBJECT_NAME(PARENT_OBJ)+' NOCHECK CONSTRAINT '+NAME+';'FROM SYSOBJECTS A LEFT OUTER JOIN SYSCOMMENTS B ON A.ID = B.IDWHERE A.XTYPE = 'F' AND A.PARENT_OBJ IN (SELECT ID FROM SYSOBJECTS WHERE name LIKE 'Test%')OPEN DEL_CONSTRAINTDECLARE @DEL_CONSTRAINT VARCHAR(8000)FETCH NEXT FROM DEL_CONSTRAINT INTO @DEL_CONSTRAINTWHILE (@@fetch_status = 0)BEGINPRINT @DEL_CONSTRAINTEXEC(@DEL_CONSTRAINT)FETCH NEXT FROM DEL_CONSTRAINT INTO @DEL_CONSTRAINTENDCLOSE DEL_CONSTRAINTDEALLOCATE DEL_CONSTRAINTGO--删除表数据DECLARE DEL_TABLES CURSOR FORSELECT 'DELETE TABLE dbo.'+ NAMEFROM SYSOBJECTS WHERE XTYPE = 'U' AND NAME LIKE 'Test%'OPEN DEL_TABLESDECLARE @DEL_TABLES VARCHAR(8000)FETCH NEXT FROM DEL_TABLES INTO @DEL_TABLESWHILE (@@fetch_status = 0)BEGINPRINT @DEL_TABLESEXEC (@DEL_TABLES)FETCH NEXT FROM DEL_TABLES INTO @DEL_TABLESENDCLOSE DEL_TABLESDEALLOCATE DEL_TABLESGO--启动约束DECLARE DEL_CONSTRAINT CURSOR FORSELECT 'ALTER TABLE '+OBJECT_NAME(PARENT_OBJ)+' CHECK CONSTRAINT '+NAME+';'FROM SYSOBJECTS A LEFT OUTER JOIN SYSCOMMENTS B ON A.ID = B.IDWHERE A.XTYPE = 'F' AND A.PARENT_OBJ IN (SELECT ID FROM SYSOBJECTS WHERE name LIKE 'Test%')OPEN DEL_CONSTRAINTDECLARE @DEL_CONSTRAINT VARCHAR(8000)FETCH NEXT FROM DEL_CONSTRAINT INTO @DEL_CONSTRAINTWHILE (@@fetch_status = 0)BEGINPRINT @DEL_CONSTRAINTEXEC(@DEL_CONSTRAINT)FETCH NEXT FROM DEL_CONSTRAINT INTO @DEL_CONSTRAINTENDCLOSE DEL_CONSTRAINTDEALLOCATE DEL_CONSTRAINTGO


原创粉丝点击