用sp_rename更改列名时,sql server 自动生成脚本为什么要分两次完成?
用sp_rename更改表列名
在查询分器里输入
EXECUTE sp_rename N 'mytable.col1 ', N 'col2 ', 'COLUMN '
可以正常更改
但在企业管理器> 表设计> 更改列名 ,然后查看更改脚本
可以看到是如下,
EXECUTE sp_rename N 'mytable.col1 ', N 'Tmp_col1 ', 'COLUMN '
GO
EXECUTE sp_rename N 'mytable.Tmp_col1 ', N 'col2 ', 'COLUMN '
GO
即,先改名为临时名,再将临时名改为最终名。
为什么要这样做?
------解决方案--------------------不知道它是什么原理, 估计是一种固定算法得出来的脚本吧.
sql 2005也是这样的.