批量删除所有存储过程的方法分享,如何正确的增加表字段

批量删除所有存储过程的方法分享,如何正确的增加表字段

转自:http://www.maomao365.com/?p=6864

转自: http://www.maomao365.com/?p=5277
摘要:
下文首要叙述,怎么样对”已上线的体系”中的表,增添新的字段。

摘要:


下文陈诉选拔sql脚本批量刨除全体存款和储蓄进度的议程,如下所示:
实验碰着:sqlserver
二零零六 Tiggo2

系统布置脚本,扩展列的办法:
在系统脚本揭橥中,如何是储存进度 自定义函数
视图的改进和新扩大,大家常常使用以下步骤来编排此类脚本
1 判别指标(存款和储蓄进度 自定义函数
视图)是还是不是存在,如何存在大家就删除对象(存款和储蓄进程 自定义函数 视图)
2 新建对象
<hr />
唯独扩张系统字段(列)时,大家不可能使用删除表,然后重新的主意举行脚本管理,
那么大家平时采纳先判定列是还是不是存在,即便不设有就成立列,固然存在就修改列属性<span
style=”color:red;font-weight:bold;”>(修正列属性–请小心是否会潜移暗化历史数据)</span>
例:


IF NOT EXISTS(SELECT * FROM SYS.COLUMNS 
WHERE OBJECT_ID = OBJECT_ID(N'表名') 
AND NAME = '列名') ---判断列是否存在
begin
---增加列
alter table [表名] 
add column [列名] [列类型]
end
else
begin
---修改列属性
alter table [表名] 
add column [列名] [列类型]
end

经常使用sql脚本,删除存储进程,大家只好够运用删除命令一条一条的删除存款和储蓄进度,下文介绍后生可畏种方便人民群众方法,能够对系统中具备的储存进度实行删减,
<span style=”color:red;”>
兑现思路:
1 接受一时表将储存进程名称缓存
2 通过巡回有时表,输出删除存款和储蓄进程脚本
3 推行脚本

接纳上述措施编写sql铺排脚本的优点为,sql脚本得以实行数次,不会见世报错音信,可避防止已经手动扩张列的数据库发生布置错误提醒消息

declare @t table(keyId int identity(1,1),tableName varchar(256))
----生成临时表
insert into @t(tableName) 
select [name] from sysobjects where type='P'

declare @i int @iMax int ,@info varchar(256)
set @i =1 
select @imax=max(keyId) from @t as t

while @i <@imax
begin
select @info = t.tableName from @t as t where t.keyId =@i

if @info is not null 
begin
exec ('drop proc '+@info) ---遍历删除存储过程
end 

set @i = @i+1 
set @info =null 
end

* *

 

admin

网站地图xml地图