SET IDENTITY_INSERT TableName ON
让MSSQL允许你更新/插入,如果在一个事务里对多个表 *** 作,不要忘记先关闭上一个IDENTITY_INSERT ON命令,才可以使下一个表进入IDENTITY_INSERT ON状态。
关闭命令:
SET IDENTITY_INSERT TableName OFF
这个命令是会话级的,当你关闭当前会话后,该表状态IDENTITY_INSERT自动变为OFF
如果不是MSSQL库的话,可以追问。祝好运~
这个问题想多了就变复杂了。首先要确定除了你自己外没有人 *** 作数据库;
更新表A中的主键、和另一个字段;
更新B、C表中的AOID;
不需要关联,都直接增加6000即可。
update A set oid=oid+6000,recipientcertificateid=recipientcertificateid+6000
update B set AOID=AOID+6000
update C set AIOD=AIOD+6000
原理:
A表直接将字段增加6000,而B与C表中外键需要相应修改,同时全表更新外键增加6000即可。
那就建一张临时表,把数据导到临时表,然后清空本表,再重新插入,插入的时候用新的OID规则。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)