什么对"已上线的系统"中的表,下文陈说采纳sq

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

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

摘要:


下文汇报选取sql脚本批量刨除全体存款和储蓄进程的艺术,如下所示:
实验遭遇:sqlserver 2009 昂Cora2

系统铺排脚本,增添列的点子:
在系统脚本宣布中,怎样是积存进程 自定义函数 视图的修改和新扩大,大家日常使用以下步骤来编排此类脚本
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

* *

 

本文由金莎娱乐场官方网站发布于科技访谈,转载请注明出处:什么对"已上线的系统"中的表,下文陈说采纳sq

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。