数据库修改命令

数据库修改命令
数据库修改命令

通过SQL查询分析器对WIS数据进行维护

一、查看表中的信息

1、select * from wis_log

2、select * from wistable1 where wisfield101='曹责强'

3、select * from wistable1 where wisfield_femesign=0

4、select wisfield101,wisfield_areano ,wisfield106 from wistable1

where wisfield_areano='610303005' --某乡人数

5、select wisfield101,wisfield_areano from wistable2

where wisfield_areano='610303004' --某乡妊娠史人数

6、select wisfield101,wisfield_areano from wistable3

where wisfield_areano='610303004' --某乡家庭子女人数

7、select wisfield101,wisfield_areano from wistable4

where wisfield_areano='610303004' --某乡避孕史人数

8、select wisfield101,wisfield_area from wistable5

where wisfield_areano='610303004' ---某乡生殖健康情况人数

9、select wisfield101,wisfield_areano from wistable7

where wisfield_areano='610303004' --某乡婚姻史人数

二、删除个别因各种原因要去掉的个案信息

1、删除以数字或拼音开头的记录

delete from wistable1 where ASCII(wisfield101)<=122

三、信息变更

1、合并村组

/*--在同一乡镇中撤村并组数据库合并办法如下

需要变动的信息有育龄妇女现居住地址(代码)WISfield103(WISfield104)户籍所在地(代码)WISfield105(WISfield106)

丈夫所在现居住地址(代码)WISfield163(WISfield164)户籍所在地(代码)WISfield165(WISfield166)(包含子女信息)

显示某村已婚育龄妇女人数

select wisfield_femesign,wisfield_areano,

WISfield101,WISfield103,WISfield104,WISfield105,WISfield106,WISfield161,WIS field163,WISfield164,WISfield165,WISfield166 from wistable1

where wisfield104>='610331100023001' and wisfield104<='610331100023004' and wisfield_femesign=1 and wisfield116>=21 and wisfield116<=23

数据更新

update wistable1 set wisfield103='陕西省宝鸡市太白县咀头镇上白云五组', wisfield165='陕西省宝鸡市太白县咀头镇上白云五组' ,

WISField163='陕西省宝鸡市太白县咀头镇上白云五组' ,

WISField105='陕西省宝鸡市太白县咀头镇上白云五组',

wisfield166='610331100022005',wisfield164='610331100022005',

wisfield104='610331100022005' ,WISField106='610331100022005'

where wisfield104>='610331100023001'and wisfield104<='610331100023004'

and wisfield116>=21 and wisfield116<=23

and wisfield_femesign=1

显示某村未婚育龄妇女人数及子女和丈夫情况

select wisfield_femesign,wisfield_areano, WISfield101,WISfield103,WISfield104, WISfield105,WISfield106,WISfield161,WISfield163,WISfield164,WISfield165,WISfield166 from wistable1

where wisfield104>='610331100023001' and wisfield104<='610331100023004' and wisfield161 is null

数据更新

update wistable1 set wisfield103='陕西省宝鸡市太白县咀头镇上白云五组', WISField105='陕西省宝鸡市太白县咀头镇上白云五组',

wisfield104='610331100022005' ,WISField106='610331100022005'

where wisfield104>='610331100023001'and wisfield104<='610331100023004'

and wisfield161 is null

2、批量修改非重要信息(主要用于新旧数据库转换后的信息修改)

(1)、修改子女表(wistable3)中的信息子女出生健康状况,子女与育龄夫妇血缘关系,子女当前健康状况

显示信息

select wisfield101 ,wisfield314,wisfield313,wisfield316 from wistable3 where wisfield314 is null and wisfield313 is null and wisfield313 is null

数据更新

update wistable3 set wisfield314=1,wisfield313=1,wisfield316=1

where wisfield314 is null or wisfield313 is null or wisfield313 is null

修改登记日期为出生日期

select wisfield101 ,wisfield311,wisfield_recorddate from wistable3

where wisfield311<>wisfield_recorddate

update wistable3 set wisfield_recorddate=wisfield311

where wisfield311<>wisfield_recorddate

(2)修改避孕史表(wistable4)中的信息,当避孕状况不空,避孕措施机构不能为空

显示信息

select wisfield101 ,wisfield401,wisfield404,wisfield402 from wistable4 where wisfield402 is null and wisfield404<='820'

数据更新

update wistable4 set wisfield402=14

where wisfield402 is null and wisfield404<='820'

(3)修改妊娠史(wistable2)中的信息,正策内1出生10,却没有妊娠终止原因select wisfield101 ,wisfield201,wisfield204,wisfield207,wisfield202 ,

WISField_FetationStopResaon

from wistable2

where WISField_FetationStopResaon is null and wisfield207>='20' and

wisfield207<='24'

--生育

update wistable2 set WISField_FetationStopResaon='01'

where WISField_FetationStopResaon is null and wisfield207<='12'

--放弃生育

update wistable2 set WISField_FetationStopResaon='02'

where WISField_FetationStopResaon is null and wisfield207>='20' and

wisfield207<='24'

3、将一个乡镇下面的人员分到各村组中

(如果在你录入信息时没有进行村组编码,这样所有人就会自动集中在乡镇,而不会以村组形式显示和统计,这将对未来做信息查询或生成报表产生一定影响,故应分别修改加入到各村组中,下面的代码将解决这一问题。)

1、先在WIS系统中将村组编码录入。(系统维护——代码维护——中国行政区找代码表)增加村代码和组代码。例如:610328105001陕西省宝鸡市千阳县草碧镇草碧村,610328105001001一组注意村的上级代码为对应的乡代码,组的上级代码为对应的村代码。录入后保存。则在信息管理中就会看到有一个空的村,村下面有组。

2、有命令修改数据库中的相应字段。

Wisfield103,wisfield104,wisfield105,wisfield106(育龄妇女或子女)

Wisfield163,wisfield164,wisfield165,wisfield166(丈夫)

Select * from wistable1 where wisfield161 is not null

and wisfield103='陕西省宝鸡市千阳县草碧镇草碧村一组'

--修改代码字段wisfield104,wisfield106,wisfield164,wisfield166前提丈夫信息都是本村人,否则会将外村人修改成本村人。

update wistable1

set wisfield104='610328105001001',wisfield106='610328105001001',

wisfield164='610328105001001',wisfield166='610328105001001'

where wisfield161 is not null and wisfield103='陕西省宝鸡市千阳县草碧镇草碧村一组'--修改育龄妇女和丈夫信息

update wistable1

set wisfield104='610328105001001',wisfield106='610328105001001'

where wisfield161 is null and wisfield103='陕西省宝鸡市千阳县草碧镇草碧村一组'--修改子女未婚

4、批量注销超龄已婚育龄妇女。

在WIS系统中有专门的注销功能可以对超龄已婚育龄妇女进行注销,但只能一个人一个人的注销,如何一次将所有超龄妇女注销呢?下面的代码将解决这一问题。

在WISTABLE1表中有个字段,专门标记是否为育龄妇女(wisfield_FemeSign)如果是则wisfield_femesign=1,不是则为wisfield_femesign=0

应注销显示

select wisfield101,wisfield112,wisfield_femesign from wistable1

where wisfield112<='1956-5-25' and wisfield_femesign=1

注销

update wistable1 set wisfield_femesign=0

where wisfield112<='1956-5-25' and wisfield_femesign=1

5、如何提高版本级别。即将乡镇版直接升为市级版

将乡镇版的“610302102 610302 1.0 0 B2F7D-6B9D2-8D1F0-01F8D-D2B9D-6F7B2”变动市级版如下:

update wis_sysini set

wisfield_areano='610300', wisfield_upareano='610000',

wisregcode='9CFED-4D727-01660-06601-27D7D-4FE9C'

6、如何清除打包记录

将Pkg_Compress 、Pkg_Decompress 、Pkg_SendRecvNo表中的内容清空

7、乡镇归属权的变更

更改wis_ini中的wisfield_upareano字段即可将一个县区的乡镇变更到别一个县区的乡镇

8、在一台计算机中同时安装多个WIS数据库和系统的方法

1、打开SQL企业管理器,新建立一个数据库起名为WIS2。

2、为WIS2还原一个乡镇备份好的数据库。打开还原对话框,从设备中选中数据库存放的位置。还会对“选项”进行设置,一般情况下还原后的数据库文件存放在系统默认的位置如:

c:\Program Files\Microsoft SQL Server\MSSQL\Data\wis_data.mdf目录下。我们必须对这个目录进行修改。如:改正:D:\八鱼乡\wis_data.mdf 和D:\八鱼乡\wis_log.ldf

再将选中“在现有数据库上强制还原”“打对勾”。

3、数据库安装好后,再复制一个WIS系统,只将原有的系统文件夹“c:\Program Files育龄妇女信息系统”最好是新安装上的没有使用过,这样可以保证子文件夹中的内容是空的,不会相互影响。存放在“D:\八鱼乡\育龄妇女信息系统”。这样可以保证数据库和WIS系统都放在一个目录下,以后查找比较方便。

4、修改WISINI.wis 配置文件。在D:\八鱼乡\育龄妇女信息系统中有一个WISINI.wis文件,用记事本将其打开,其中的内容如下:[database connection]

DA TABASENAME=WIS

SERVERNAME=GUO-CAC0B15A410

SERVICE DATABASENAME=WIS

SERVICE SERVERNAME=GUO-CAC0B15A410

这里只需要修改DATABASENAME=WIS1 SERVICE DA TABASENAME=WIS1

将WIS改为WIS1 或WIS2、WIS3等。保存,退出。

5、如何运行WIS系统。

在一台计算机中安装多个WIS数据库后,每次运行其中的一个系统时要先关闭前一个系统的客户端(Pro_WisServer.exe)和WIS系统服务器(Pro_WisServer.exe)。再执行当前要运行的数据库中的WIS系统服务器(Pro_WisServer.exe)和客户端(Pro_WisServer.exe)。这样才能保证每次调用的是不同的数据库。对不同乡镇数据库的操作。

9、将三查登记与检查日期修改一致。

--wisfield511 检查日期wisfield_recorddate系统计日期

--显示内容

select wisfield101,WISfield_recorddate , wisfield511 , wisfield_checkman from wistable5 where WISfield_recorddate<>wisfield511

修改日期不一样的记录

update wistable5 set wisfield_recorddate=wisfield511

where WISfield_recorddate<>wisfield511

10、将随防登记与随访日期修改一致。

-- wisfield_interviewdate随访日期wisfield_recorddate系统日期(登记日期)

--显示内容

select wisfield101, wisfield_interviewdate,wisfield_recorddate from WIS_InterView

修改日期不一样的记录

update WIS_InterView set wisfield_recorddate=wisfield_interviewdate

where WISfield_recorddate<>wisfield_interviewdate

四、问题解答

(一)缩小日志文件

一种方法:

1.打开查询分析器,输入命令

DUMP TRANSACTION 数据库名WITH NO_LOG

如:DUMP TRANSACTION wis WITH NO_LOG

2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的

最小M数,直接输入这个数,确定就可以了。

另一种方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。

1: 删除LOG

分离数据库企业管理器->服务器->数据库->右键->分离数据库

2:删除LOG文件

附加数据库企业管理器->服务器->数据库->右键->附加数据库

此法生成新的LOG,大小只有500多K。

(二)统计报表误原因

(1)对以前录入的信息进行批量修正。

(2)在新录入出生情况时,先将系统日期设置成与出生情况月份相符合的日期。以保证统计报表正确。

(三)信息修改后要进行刷新,否则再次浏览时信息可能会不一样。

(四)查甲人则显示的是乙人的信息。原因是这两个人的身份证号是一样的。要进行修改。

(五)双胞胎、多胞胎子女的输入

打开该育龄妇女信息,使其处于编辑状态,将妇女“妊娠史”照实际情况只填一次,在“子女情况”中的该次项目中,是1胎双胞胎的两孩均填1,是2胎双胞胎的两孩均填2;多胞胎子女的填写照此类推,填写相应胎次多胞胎个数及孩次。

相关文档
最新文档