设为首页 加入收藏

TOP

Sybase IQ自定义表备份(二)
2014-11-23 22:37:46 来源: 作者: 【 】 浏览:24
Tags:Sybase 定义 备份
if object_id(@c_backupName) is not null
begin
select @c_exesql = 'drop table '+@c_backupName
execute (@c_exesql)
-- 异常检测
select @retcode = @@error,@reccount = @reccount+@@rowcount
if @retcode<>0
begin
update t_sz_backup_tables set status=1,endtime=getdate(),redes='drop table '+@c_backupName+' failed!'
where tableName = @tableName
select @i_errorNum = @i_errorNum +1
select @i_count = @i_count + 1
continue
end
end
-- 创建备份表
select @c_exesql = 'select * into '+@c_backupName +' from '+@tableName +' where 1=2'
execute (@c_exesql)
-- 异常检测
select @retcode = @@error,@reccount = @reccount+@@rowcount
if @retcode <>0
begin
update t_sz_backup_tables set status=1,endtime=getdate(),redes='create table '+@c_backupName+' failed!'
where tableName = @tableName
select @i_errorNum = @i_errorNum +1
select @i_count = @i_count + 1
continue
end
-- 备份数据到历史表
select @c_exesql = 'insert into '+@c_backupName+' select * from '+@tableName
execute (@c_exesql)
-- 异常检测
select @retcode = @@error,@reccount = @reccount+@@rowcount
if @retcode<>0
begin
update t_sz_backup_tables set status=1,endtime=getdate(),redes='insert into '+@c_backupName+' failed!'
where tableName = @tableName
select @i_errorNum = @i_errorNum +1
select @i_count = @i_count + 1
continue
end
-- 执行成功记录日志
update t_sz_backup_tables set status=0,endtime=getdate(),redes='backup into '+@c_backupName+' success!'
where tableName = @tableName
end
else
begin
update t_sz_backup_tables set status = 1,endtime=getdate(),redes = convert(char(20),getdate(),120)+':backup failed!source table '+@tableName+' not found!'
where tableName = @tableName
select @i_errorNum = @i_errorNum + 1
select @i_count = @i_count + 1
continue
end
select @i_count=@i_count+1
end
--*******3.<操作结束,退出>*********************************************************************
select @dt_endtime = getdate()
select @usedtime = datediff(ss,@dt_begintime,@dt_endtime)
if @i_errorNum <>0
begin
select @retcode = 1
select @retdesc = convert(char,@i_errorNum)+' tables backup failed,'+convert(char,
@cursorcount-@i_errorNum)+' backup success,please check up the table t_sz_backup_tables!'
return @retcode
end
else
begin
select @retcode = 0
select @retdesc = convert(varchar,@dt_endtime,120)+':procedure fn_backup_tables '+convert(char,@cursorcount)+' tables was backuped success!'
return @retcode
end
end
go
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇减小Sybase ASA数据库的数据和事.. 下一篇sybase查看执行计划

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: