在审计工作中常常需要采集数据以进行数据关联比对,从而查出审计疑点。从被审计单位采集到的原始数据往往是数据库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 四、检查汉化是否完成。如存在部门字段没有完成汉化,则需要重复以上语句。 |