mssql sqlserver 批量删除所有存储过程的方法分享

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

转自: http://www.maomao365.com/?p=5277
摘要:
下文首要汇报,如何对”已上线的系统”中的表,扩展新的字段。

摘要:


下文陈说选取sql脚本批量去除全部存款和储蓄进度的方法,如下所示:
尝试情状:sqlserver
二零零六 PAJERO2

系统布署脚本,增添列的情势:
在系统脚本揭橥中,怎么样是积累进度 自定义函数
视图的更改和新添,大家不足为怪采纳以下步骤来编排此类脚本
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

* *

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注