好象不能用事务,每一个修改都加上条件就是了,这样反复执行多次都没有问题:
if exists(select * from syscolumns where id=object_id(N'表名') and name='列名')
EXEC sp_rename '表名.列名', '新列名', 'COLUMN'
if exists(select * from syscolumns where id=object_id(N'表名') and name='新列名')
alter table 表名 alter column 新列名 int