首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两个sql数据库事务复制中 FOREIGN KEY 约束引用有关问题 (急)

2012-03-07 
求助:两个sql数据库事务复制中 FOREIGN KEY 约束引用问题 (急)哪位高手能帮我解决一下这个问题呀,我做的是

求助:两个sql数据库事务复制中 FOREIGN KEY 约束引用问题 (急)
哪位高手能帮我解决一下这个问题呀,我做的是sqlserver2000的两个数据库的事务复制,同步的时候提示下面的错误,用什么方法可以解决呢?

1、约束   'aaaaaCDS80B_PK '   正由表   'WXY_J_EXTEND '   的外键约束   'FK_WXY_J_EXTEND_CDS80B '   引用。
(源:   KFB1\KFB1   (数据源);   错误代码:   3725)


2、Category:SQLSERVER
Source:     AYKJKFB
Number:     3726
Message:   未能除去对象   'CDS00COR ',因为该对象正由一个   FOREIGN   KEY   约束引用。
不甚感激!

[解决办法]
你是执行什么任务? 删除吗? 要先删除外键,再删除主键
[解决办法]
DECLARE @CUR CURSOR
DECLARE @表名 VARCHAR(100)
DECLARE @字段名 VARCHAR(100)
DECLARE @约束名 VARCHAR(100)
DECLARE @SQL VARCHAR(8000)

--禁用所有外键约束
SET @CUR = CURSOR READ_ONLY
FOR
SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE CONSTRAINT_NAME IN (SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS)
ORDER BY TABLE_NAME, COLUMN_NAME

OPEN @CUR

FETCH NEXT FROM @CUR INTO @表名, @字段名, @约束名

WHILE (@@FETCH_STATUS = 0)
BEGIN
--禁用约束
SET @SQL = 'ALTER TABLE ' + @表名 + ' NOCHECK CONSTRAINT ' + @约束名
EXEC (@SQL)

FETCH NEXT FROM @CUR INTO @表名,@字段名,@约束名
END

CLOSE @CUR
DEALLOCATE @CUR

热点排行