SQL问题!请大家帮忙看一下这是哪儿出的问题?在线等! ( 积分: 50 )

  • 主题发起人 主题发起人 SDLCY
  • 开始时间 开始时间
S

SDLCY

Unregistered / Unconfirmed
GUEST, unregistred user!
select&nbsp;a,b,c&nbsp;into&nbsp;#t&nbsp;from&nbsp;table<br>alter&nbsp;table&nbsp;#t&nbsp;add<br>&nbsp;&nbsp;&nbsp;x&nbsp;int&nbsp;not&nbsp;null&nbsp;default(0)<br>update&nbsp;#t&nbsp;set&nbsp;x=a+b<br>select&nbsp;*&nbsp;from&nbsp;#t<br>错误提示:&nbsp;列名&nbsp;‘x’&nbsp;无效。<br>这一段在有的微机上是可以执行的,是不是哪儿的设置发生了改变?<br>如果在update&nbsp;......这一句后加上&nbsp;go&nbsp;,自然可以执行,但不加的时候<br>为什么在不同的微机上却不一定可以执行呢?<br>请高手指点啊!
 
如果你用是微软的数据库,那么最好是在字段名两边加上[].如:[X]
 
我觉得可能是因为update与后面的select一起执行得太快,数据库反应不过来^o^<br>换个写法:select&nbsp;a,b,c,a+b&nbsp;as&nbsp;x&nbsp;into&nbsp;#t&nbsp;from&nbsp;table&nbsp;&nbsp;&nbsp;&nbsp;select&nbsp;*&nbsp;from&nbsp;#t
 
alter更改表后加一个GO<br>再调用查询修改语句
 
如果在存儲過程中執行這樣的話,就寫成動態的語句<br>@sqlstr=alter&nbsp;table&nbsp;#t&nbsp;add&nbsp;x&nbsp;int&nbsp;not&nbsp;null&nbsp;default(0)'<br>exec(@sqlstr)
 
后退
顶部