SQL Server 2000的怪问题(2005没有)(0分)

  • 主题发起人 主题发起人 zbdzjx
  • 开始时间 开始时间
Z

zbdzjx

Unregistered / Unconfirmed
GUEST, unregistred user!
有四个表:A、B、C、D,A是两个字段做主键,其它三个表都是一个字段做主键。<br><br>先是A和B左连接做视图VAB(只有了A主键中的一个字段),再用C左连接视图VA做视图VABC,再用D左连接视图VABC做视图VABCD。<br><br>在企业管理器中,用SELECT * FROM VABCD语句显示结果并修改,会报错,提示无法更新的列。<br><br>而在SQL Server2005中却可以修改。<br><br>感觉SQL Server2000中视图的分解能力不够强!!!!
 
视图怎么修改?<br><br>这样吧:<br>SELECT * into #temp1 FROM VABCD<br>select * from #temp1 drop table #temp1
 
视图也可以修改啊!!!!!
 
视图还不会,帮你顶
 
视图不能修改超过两个表的列,也就是说你可以改一个表内的多个列的值,但是同时改两个表的列就不行了。
 
我只是改了一列,而且是改D表中的,但D表中的列,有的改了不报错,有的列改了就报错。<br><br>但在2005下确没问题。<br><br>后来测试研究了一下,在VABC视图中,有用几个列计算出的新列,视图VABCD用SELECT列名显示再修改,如果SELECT的列名包括计算出来的列,一修改就报错,如果SELECT的列名不包括计算出来的列,修改就不报错。
 
后退
顶部