日期:2014-05-18  浏览次数:20408 次

【求解修改标志列 计算列值】
问题1;如何修改一个标志列的值?除了将该列转化成普通列,修改后 再次转化成标识列的方法
问题2:如何强行修改一个计算列 ?
SQL code

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出时出结果,一种是物理化。
------解决方案--------------------
SQL code

update tb set sum_value=9 where id=1 with overwrite

------解决方案--------------------
这东西好像米办法了,呵呵,帮顶