问题1;如何修改一个标志列的值?除了将该列转化成普通列,修改后 再次转化成标识列的方法
问题2:如何强行修改一个计算列 ?
create table tb(id int identity(1,1) , value1 int, value2 int, sum_value as value1+value2)
insert tb
select 1,2 union
select 3,4 union
select 5,6
select * from tb
/*
id value1 value2 sum_value
----------- ----------- ----------- -----------
1 1 2 3
2 3 4 7
3 5 6 11
*/
---如何修改成
/*
id value1 value2 sum_value
----------- ----------- ----------- -----------
1 1 2 3
2 3 4 7
4 5 6 11 ---------这里ID改为4
*/
或者
/*
id value1 value2 sum_value
----------- ----------- ----------- -----------
1 1 2 9 ------这里的sum_value 改为9
2 3 4 7
3 5 6 11
*/
------解决方案--------------------
sum_value as value1+value2
你強行改變sum_value 那就違反這個規則
------解决方案--------------------
我记得计算列有两种方式,一种是select出时出结果,一种是物理化。
------解决方案--------------------
update tb set sum_value=9 where id=1 with overwrite
------解决方案--------------------