问2个SQLSERVER2000的问题

时间:2022-07-19 07:05:17
问题1

新建了2张表,A表主键字段ID引用B表主键字段ID比如现在想修改A表中ID字段所有值为'当前值后+1',B表中则不修改ID字段

值可不可以做到.(应该是要去掉级联更新后在修改的,但是怎么做呢);要是不能去掉的话,那怎么在更新A表ID字段的同时更新

B表ID字段,谢谢.

PS:还有如果要更新某个字段的值为'当前值(每条记录的值都不是一样的)'后+1该怎么写



问题2

如果要查询一张表中所有不重复的数据要怎么做(select distinct * from table肯定是不行的)

5 个解决方案

#1


问题1 

新建了2张表,A表主键字段ID引用B表主键字段ID比如现在想修改A表中ID字段所有值为'当前值后+1',B表中则不修改ID字段 

值可不可以做到.(应该是要去掉级联更新后在修改的,但是怎么做呢);要是不能去掉的话,那怎么在更新A表ID字段的同时更新 

B表ID字段,谢谢. 

PS:还有如果要更新某个字段的值为'当前值(每条记录的值都不是一样的)'后+1该怎么写 
-------------------


没看懂,请注意:@@IDENTITY







问题2 

如果要查询一张表中所有不重复的数据要怎么做(select   distinct   *   from   table肯定是不行的) 
--------------
如果有唯一
select *
from table a
where not exists(select 1 from table where a.col = col and colother < a.colother)

#2


删除外健关系:
更新A表
再添加外键约束

#3


删除外健关系: 
更新A表 ID+1,B表同样更新ID+1
再添加外键约束

#4


也可以暂时阻止级联更新 具体用什么sp_mstablerefs..

要是不能去掉的话,那怎么在更新A表ID字段的同时更新B表ID字段?
------------
因为A引用B 在级联情况下 也只能从B方向向A级联更新 反之却不能

#5


具体用--->可以用

#1


问题1 

新建了2张表,A表主键字段ID引用B表主键字段ID比如现在想修改A表中ID字段所有值为'当前值后+1',B表中则不修改ID字段 

值可不可以做到.(应该是要去掉级联更新后在修改的,但是怎么做呢);要是不能去掉的话,那怎么在更新A表ID字段的同时更新 

B表ID字段,谢谢. 

PS:还有如果要更新某个字段的值为'当前值(每条记录的值都不是一样的)'后+1该怎么写 
-------------------


没看懂,请注意:@@IDENTITY







问题2 

如果要查询一张表中所有不重复的数据要怎么做(select   distinct   *   from   table肯定是不行的) 
--------------
如果有唯一
select *
from table a
where not exists(select 1 from table where a.col = col and colother < a.colother)

#2


删除外健关系:
更新A表
再添加外键约束

#3


删除外健关系: 
更新A表 ID+1,B表同样更新ID+1
再添加外键约束

#4


也可以暂时阻止级联更新 具体用什么sp_mstablerefs..

要是不能去掉的话,那怎么在更新A表ID字段的同时更新B表ID字段?
------------
因为A引用B 在级联情况下 也只能从B方向向A级联更新 反之却不能

#5


具体用--->可以用