• 欢迎来到凉山彝族自治州审计局网站!
?
当前位置: 首页 > 专题专栏 > 审计信息化建设
审计信息化建设

巧用游标对sql数据库进行快速汉化


来源:查看原文 时间:2017年05月19日 点击率:打印】【关闭

    在审计工作中常常需要采集数据以进行数据关联比对,从而查出审计疑点。从被审计单位采集到的原始数据往往是数据库bak备份文件,大多数情况下将bak文件还原到SQL数据库中后会发现表格名称和字段名称都是英文字母或符号,要找到所需信息比较困难,所以需要先对数据库进行汉化,将表格名称和字段名称都整理成汉字名称。现以某地新型农村合作医疗保险基础数据为例,将利用游标快速对全库进行汉化的方法整理如下:

    一、从被审计单位获取基础数据(包括数据库备份数据、数据字典等)

    二、建立数据更新表。根据获取的数据字典建立数据更新表,格式如下:

    

    三、执行汉化语句。汉化语句以游标为基础,通过遍历更新表,执行系统存储过程 sp_rename 达到修改表列名目的。

DECLARE @XBM NVARCHAR(10),@YBM NVARCHAR(10),@XLM NVARCHAR(10),@YLM NVARCHAR(10)

DECLARE @M NVARCHAR(20),@N NVARCHAR(10)

DECLARE C_GB CURSOR FOR

SELECT 新表名,原表名,新列名,原列名FROM 更新表WHERE 标志=1

OPEN C_GB

FETCH NEXT FROM C_GB INTO @XBM,@YBM,@XLM,@YLM

SET @N=''

WHILE @@FETCH_STATUS =0

BEGIN

IF @N<>@XBM

BEGIN

EXEC sp_rename @YBM,@XBM

SET @N=@XBM

SET @M=@XBM+'.'+@YLM

EXEC sp_rename @M,@XLM,'COLUMN'

END

SET @M=@XBM+'.'+@YLM

EXEC sp_rename @M,@XLM,'COLUMN'

UPDATE 更新表 SET 标志=0 WHERE CURRENT OF C_GB

FETCH NEXT FROM C_GB INTO @XBM,@YBM,@XLM,@YLM

END

CLOSE C_GB

DEALLOCATE C_GB

    四、检查汉化是否完成。如存在部门字段没有完成汉化,则需要重复以上语句。

上一篇:
下一篇:
网站地图
主办:凉山彝族自治州审计局 联系电话:0834-2171992
建设维护:凉山州信息中心(凉山州人民政府门户网站运行管理中心)
?蜀ICP备05005182号

川公网安备 51340102000109号 网站标识码:5134000002