>

下文讲述采用sql脚本批量删除所有存储过程的方

- 编辑:银河国际手机客户端 -

下文讲述采用sql脚本批量删除所有存储过程的方

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

转自: http://www.maomao365.com/?p=5277
摘要:
下文首要描述,怎么样对"已上线的系统"中的表,扩展新的字段。

摘要:


下文汇报选取sql脚本批量删减全部存款和储蓄进度的艺术,如下所示:
尝试情状:sqlserver 二零零六 奇骏2

系统计划脚本,扩充列的点子:
在系统脚本公布中,怎么着是积存进度 自定义函数 视图的修改和新增,我们常见使用以下步骤来编排此类脚本
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

* *

 

本文由计算机数据发布,转载请注明来源:下文讲述采用sql脚本批量删除所有存储过程的方