MSSQL修改表-避免SQL被重复执行的方法分享


摘要:
在sql更新脚本中,我们要避免sql脚本被重复执行,来避免各种错误的发生,
我们可以通过在进行表修改前,对相关的效果做相应的判断,然后再做出修改操作
下文将通过举例的方式分享避免sql脚本重复执行的方法


1.sql server表修改的常用脚本

---修改表名
   sp_rename '旧表名' ,'新表名'
---添加列
 alter table tableName add [列名] [列类型]
---删除列
 alter table tableName  drop column [列名]

2. 避免重复执行表修改脚本分享

给出了表结构中列的相关信息,包括:列名,列类型,列注释等等。
最后,写存储过程来实现功能。
--删除列  
if exists(select null from syscolumns where id=object_id('表名称') and name='列名称')
begin   
   ALTER TABLE [表名称]  DROP COLUMN [列名称];  
END  ;   
go
---新增列名  
if exists(select null from syscolumns where id=object_id('表名称') and name='列名称')
begin   
   ALTER TABLE [表名称]  add  [列名称] [列数据类型];  
END  ; 
---修改表名
if exists (select null from sys objects where xtype='u' and name ='[新表名]')
begin
 sp_rename '旧表名','新表名'
end