国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

oracle大型數(shù)據(jù)庫的信息排錯一法

2024-08-29 13:42:16
字體:
供稿:網(wǎng)友
摘要 個人信息庫是醫(yī)療保險信息治理系統(tǒng)中最為重要的基礎(chǔ)數(shù)據(jù)庫之一,數(shù)據(jù)初次錄入計算機后,會有許多差錯,一般地要花費數(shù)月的時間和大量的人力物力來整理。本文介紹了一種采用"軟件"排錯的方法,該方法效果非凡明顯。
  
  類似如醫(yī)療保險信息治理系統(tǒng)的應(yīng)用系統(tǒng),有非常大的數(shù)據(jù)量,采用的是Oracle之類的大型數(shù)據(jù)庫。個人信息庫是醫(yī)療保險信息治理系統(tǒng)中最為重要的基礎(chǔ)數(shù)據(jù)庫之一,它記錄了每個參保人員與參加醫(yī)療保險有關(guān)的信息,如"姓名"、"性別"、"社保編號"、"人員分類"……等幾十個字段,一般都有數(shù)以萬計、十萬計的參保人員。將這樣大量的數(shù)據(jù)初次錄入計算機后,會有許多差錯,而軟件商提供的醫(yī)療保險信息治理系統(tǒng)皆沒有提供數(shù)據(jù)庫信息的排錯功能,為此現(xiàn)有的各醫(yī)療保險信息治理系統(tǒng)軟件的用戶們都花費了數(shù)月的時間和大量的人力物力來整理個人信息數(shù)據(jù)庫。
  
  為了解決個人信息數(shù)據(jù)庫的排錯的問題,加快排錯的進度和準確性,四川省南充市醫(yī)保中心采用"軟件"排錯的方法,其效果非凡明顯。
  
  其步驟如下:
  一、 從Oracle數(shù)據(jù)庫中得到某單位"9999"的個人信息存入文本格式文件out.txt
  啟動sql*plus
  
  設(shè)置環(huán)境變量:
  set heading off
  set pagesize 0
  set feedback off
  set trimspool on
  set echo off
  
  設(shè)置輸出:
  spool d:/out.txt
  
  輸出單位"9999"的所有人員的姓名、性別、社保編號、人員分類等字段(以","分隔)到d:/out.txt:
  
  select xm','xb','sbbh','ryfl',' from shbx_nc.grxxk where dwid=9999;
  
  關(guān)閉輸出,將緩沖寫入d:/out.txt:
  
  spool off
  
  重復(fù)
  
  spool d:/out8888.txt
  select xm','xb','sbbh','ryfl',' from shbx_nc.grxxk where dwid=8888;
  spool off
  
  可從Oracle數(shù)據(jù)庫中獲取某單位"8888"的個人信息。
  
  二、打開FoXPRo,建立兩個數(shù)據(jù)庫
  1.數(shù)據(jù)庫D:/DBF/LYC1.DBF 結(jié)構(gòu)表:
  
  
 oracle大型數(shù)據(jù)庫的信息排錯一法(圖一)

  
oracle大型數(shù)據(jù)庫的信息排錯一法(圖二)

  
  三、加數(shù)據(jù)到兩個數(shù)據(jù)庫
  1.將out.txt 導(dǎo)入到lyc1.dbf
  
  sele 1
  USE d:/dbf/lyc1.dbf IN 0 EXCLUSIVE
  dele all
  pack
  append from d:/dbf/out.txt fields xm,xb,sbbh,ryfl delimited with ","
  brow
  
  2.將out1.txt 導(dǎo)入到lyc1.dbf (out1.txt來自與醫(yī)保個人帳戶電子文檔,分單位,包含個人的姓名、性別、社保編號、在職工資、退休工資等信息)
  sele 2
  USE d:/dbf/lyc1_1.dbf IN 0 EXCLUSIVE
  dele all
  pack
  append from d:/dbf/out1.txt fields xh,xm,sbbh,zgz,tgz delimited with ","
  brow
  
  四、比較兩個數(shù)據(jù)庫的個人信息,設(shè)標(biāo)記
  do 1
  1.prg
  SET DEFAULT TO d:/dbf
  SET PATH TO d:/dbf
  select 1
  use lyc1
  select 2
  use lyc1_1
  do while not eof()
  select 1
  go 1
  locate for xm = lyc1_1 -> xm
  do while not eof()
  if sbbh = lyc1_1 -> sbbh 假如姓名相同,社保編號也相同,設(shè)標(biāo)記為y
  replace xh with lyc1_1 -> xh
  replace bj with "y"
  replace lyc1_1 -> bj with "y"
  if ryfl="在職" and lyc1_1 -> tgz > 0 假如有退休工資,不能是在職
  replace ryfl with "在職?"
  endif
  if ryfl="退休" and lyc1_1 -> zgz > 0
  replace ryfl with "退休?"
  endif
  if ryfl=" " and lyc1_1 -> tgz > 0
  replace ryfl with "?退休"
  endif
  if ryfl=" " and lyc1_1 -> zgz > 0
  replace ryfl with "?在職"
  endif
  exit
  else
  if bj<>"y" 假如標(biāo)記沒設(shè)為y
  replace xh with lyc1_1 -> xh
  replace bj with "n" 姓名相同,社保編號不同,設(shè)標(biāo)記為n
  endif
  continue
  endif
  enddo
  select 2
  skip 1
  enddo
  sele 1
  use
  sele 2
  use
  do 2
  2.prg
  SET DEFAULT TO d:/dbf
  SET PATH TO d:/dbf
  select 1
  use lyc1
  select 2
  use lyc1_1
  select 1
  go 1
  do while not eof()
  if bj="n"
  select 2
  go 1
  locate for xm = lyc1 -> xm
  if not eof()
  replace db with lyc1 -> sbbh 姓名相同,對比社保編號
  replace lyc1 -> db with sbbh
  endif
  endif
  select 1
  if bj=" "
  select 2
  go 1
  locate for sbbh = lyc1 -> sbbh
  if not eof()
  replace db with lyc1 -> xm 社保編號相同,對比姓名
  replace lyc1 -> db with xm
  endif
  endif
  select 1
  skip 1
  enddo
  sele 1
  use
  sele 2
  use
  
  六、打印排錯信息
  do p3
  p3.prg
  clear
  set print on
  set device to print
  set default to d:/dbf
  set path to d:/dbf
  select 1
  use lyc1
  i=2
  @1,10 say " 醫(yī)保數(shù)據(jù)庫 錯誤記錄:"
  @2,10 say '序號 '+'姓名 '+'性別'+' 社保編號 '+' 人員分類 '+'對比提示'
  locate for bj="n"
  do while not eof()
  i=i+1
  if i>76
  @1,10 say " 醫(yī)保數(shù)據(jù)庫 錯誤記錄:"
  @2,10 say '序號 '+'姓名 '+'性別'+' 社保編號 '+' 人員分類 '+'對比提示'
  i=3
  endif
  @i,10 say str(xh,4,0)+" "+xm+xb+" "+substr(sbbh,1,30)+ryfl+" "+db
  continue
  enddo
  go 1
  i=2
  @1,10 say "****************醫(yī)保數(shù)據(jù)庫 無對應(yīng)記錄:******************"
  @2,10 say '序號 '+'姓名 '+'性別'+' 社保編號 '+'人員分類 '+'對比提示'
  locate for bj=" "
  do while not eof()
  i=i+1
  if i>76
  @1,10 say "****************醫(yī)保數(shù)據(jù)庫 無對應(yīng)記錄:****************"
  @2,10 say '序號 '+'姓名 '+'性別'+' 社保編號 '+'人員分類 '+'對比提示'
  i=3
  endif
  @i,10 say str(xh,4,0)+" "+xm+xb+" "+substr(sbbh,1,30)+ryfl+" "+db
  continue
  enddo
  go 1
  i=i+1
  @i,10 say "****************醫(yī)保數(shù)據(jù)庫 分類有問題:****************"
  i=i+1
  @i,10 say '序號 '+'姓名 '+'性別'+' 社保編號 '+'人員分類 '+'對比提示'
  locate for at('?',ryfl)>0
  do while not eof()
  i=i+1
  if i>76
  @1,10 say "****************醫(yī)保數(shù)據(jù)庫 分類有問題:****************"
  @2,10 say '序號 '+'姓名 '+'性別'+' 社保編號 '+'人員分類 '+'對比提示'
  i=3
  endif
  @i,10 say str(xh,4,0)+" "+xm+xb+" "+substr(sbbh,1,30)+ryfl+" "+db
  continue
  enddo
  count all to t
  count all for bj="y" to s
  count all for ryfl="在職" to zs
  count all for ryfl="退休" to tx
  @i+1,10 say "****醫(yī)保數(shù)據(jù)庫 正確記錄數(shù):"+str(s,4,0)+"/"+str(t,4,0)+"/在職"+str(zs,4,0)+"/退休"+str(tx,4,0)
  
  select 2
  use lyc1_1
  i=2
  @1,10 say "======校對文稿 無對應(yīng)記錄:======="
  @2,10 say '序號 '+'姓名 '+'性別'+' 社保編號 '+'對比提示'
  locate for bj=" "
  do while not eof()
  i=i+1
  if i>76
  @1,10 say "======校對文稿 無對應(yīng)記錄:========"
  @2,10 say '序號 '+'姓名 '+'性別'+' 社保編號 '+'對比提示'
  i=3
  endif
  @i,10 say str(xh,4,0)+" "+xm+xb+" "+substr(sbbh,1,30)+" "+db
  continue
  enddo
  count all to t
  count all for bj="y" to s
  count all for zgz > 0 to zs
  count all for tgz > 0 to tx
  @i+1,10 say "========校對文稿 校對正確記錄數(shù):"+str(s,4,0)+"/"+str(t,4,0)+"/在職"+str(zs,4,0)+"/退休"+str(tx,4,0)
  
  eject
  sele 1
  use
  sele 2
  use
  set print off
  set device to screen
  
  輸出結(jié)果
  1. 醫(yī)保數(shù)據(jù)庫 錯誤記錄:
  
  醫(yī)保數(shù)據(jù)庫中與校對文稿中姓名相同而社保編號不同的列入此列,同時輸出兩個社保編號提供對比
  
  2. 醫(yī)保數(shù)據(jù)庫 無對應(yīng)記錄:
  
  (1) 醫(yī)保數(shù)據(jù)庫中與校對文稿中社保編號相同而姓名不同的列入此列,同時輸出兩個姓名提供對比
  
  (2) 醫(yī)保數(shù)據(jù)庫中與校對文稿中姓名、社保編號都對應(yīng)的列入此列,對比欄為空
  
  3. 醫(yī)保數(shù)據(jù)庫 分類有問題:
  
  在職和退休分類錯的
  
  4. 校對文稿 無對應(yīng)記錄:
  
  (1) 醫(yī)保數(shù)據(jù)庫中與校對文稿中姓名相同而社保編號不同的,同時輸出兩個社保編號提供對比
  
  (2) 醫(yī)保數(shù)據(jù)庫中與校對文稿中社保編號相同而姓名不同的,同時輸出兩個姓名提供對比
  
  (3) 醫(yī)保數(shù)據(jù)庫中與校對文稿中姓名、社保編號都不對應(yīng)的,對比欄為空
  


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 九寨沟县| 临潭县| 枣强县| 会同县| 邳州市| 易门县| 钟山县| 胶南市| 共和县| 黎川县| 同仁县| 凤山市| 沧源| 锡林郭勒盟| 宁德市| 天气| 广河县| 旬邑县| 民乐县| 思南县| 德庆县| 荣成市| 满城县| 荔波县| 绥芬河市| 阜城县| 明星| 罗田县| 青州市| 遵化市| 平阳县| 汉源县| 平远县| 乌鲁木齐市| 冀州市| 霞浦县| 仁寿县| 巴林右旗| 城市| 法库县| 淮滨县|