免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2010.01.17 龙岗数据转新版数据旧数据库类型A旧数据库类型B先备份新旧数据库,然后升级1. DEPART - tbDepartment31-0其它不变改表与DOCTORUSER关联,因此要修正DOCTORUSER.DEPARTIDSQL 语句如下旧数据库类型A:DELETE FROM MedImgMgrSysLG.dbo.tbDepartment;DELETE FROM EndoscopeLG.dbo.DEPART WHERE DEPARTID=-1;UPDATE EndoscopeLG.dbo.DEPART SET DEPARTID=0 WHERE DEPARTID=31;UPDATE EndoscopeLG.dbo.DOCTORUSER SET DEPARTID=0 WHERE DEPARTID=31;INSERT MedImgMgrSysLG.dbo.tbDepartment(DepartmentID, DepartmentName) SELECT DEPARTID, DEPARTDESC FROM EndoscopeLG.dbo.DEPART;2. DOCTORUSER - tbDoctor(1)LEVELCODE-AuthCode255-10231-12-563(2)LOGINPWD-LoginPasswd(3)WORKID-WorkIDDOCTORUSER.WorkID = tbDoctor.WORKID + 1000?(4) HIRESTATUS-HireStatusDOCTORUSER.Status = tbDoctor.HIRESTATUS - 1(5) SEX-Sex0-11-22-0(6) DUTYID-DutyIDDOCTORUSER.DutyID = tbDoctor.DUTYID - 1(7) CNNAME- LoginName, NameCNDOCTORUSER.LoginName = tbDoctor.CNNAMEDOCTORUSER.NameCN = tbDoctor.CNNAME(8) DEPARTID-DepartmentIDDOCTORUSER.DepartmentID = tbDoctor.DEPARTIDSQL 语句如下旧数据库类型A:首先修改LEVELCODE类型由tinyint改为int,然后执行UPDATE EndoscopeLG.dbo.DOCTORUSER SET LEVELCODE=1023 WHERE LEVELCODE=255;UPDATE EndoscopeLG.dbo.DOCTORUSER SET LEVELCODE=563 WHERE LEVELCODE=2;UPDATE EndoscopeLG.dbo.DOCTORUSER SET SEX=SEX+1;UPDATE EndoscopeLG.dbo.DOCTORUSER SET SEX=0 WHERE SEX=3;UPDATE EndoscopeLG.dbo.DOCTORUSER SET HIRESTATUS=HIRESTATUS;UPDATE EndoscopeLG.dbo.DOCTORUSER SET DUTYID=DUTYID-1;INSERT MedImgMgrSysLG.dbo.tbDoctor(WorkID, DepartmentID, LoginName, LoginPasswd, AuthCode, HireStatus, DutyID, Sex) SELECT WORKID, DEPARTID, CNNAME, ISNULL(LOGINPWD,), LEVELCODE, ISNULL(HIRESTATUS, 0), DUTYID, SEX FROM EndoscopeLG.dbo.DOCTORUSER;3. tbPatientInformation - PATIENTE, PATIENTSELF(1)MedicalID -PATIENTSELF.MEDICCAREID(2)InHospitalID-PATIENTSELF.INHOSPITAL(3)OutPatientID-IF (PATIENTSELF.INHOSTPITAL = NULL) IDPATIENTSELF.SICKBEDID ELSE NULL(4)CheckID-该表的CheckID 根据旧版数据库的版本情况,由两种可能 1 图片按PATIENTSELF.ENDSCPID存放的要对同一机台号的同一天的病例进行处理,生成RECORDCDNO然后同2处理 2 图片按PATIENTSELF.RECORDCDNO存放的CheckID-PATIENTSELF.RECORDCDNO(5)InstrumentID-PATIENTSELF.INSTRUMENTID(6)PatientName-PATIENTSELF.PATIENTNAME(7)Sex-PATIENTSELF.SEX0-11-22-0(8)Age-PATIENTSELF.AGEAgeType-PATIENTSELF.AGEIF PATIENTSELF.AGE 200 THENtbPatientInformation.Age = PATIENTSELF.AGEtbPatientInformation.AgeType = 0IF PATIENTSELF.AGE 200 AND PATIENTSELF.AGE 300 THENtbPatientInformation.Age = PATIENTSELF.AGE - 300tbPatientInformation.AgeType = 2(9)Address-PATIENTSELF.ADDRESS(10)Phone-PATIENTSELF.PHONE(11)AskDepartment-PATIENTSELF.ASKDEPT(12)AskDoctor-PATIENTSELF.ASKDR(13)CheckDoctor-PATIENTSELF.CHECKDR(14)CheckDepartment-NULL(15)CheckTime-PATIENTSELF.CHECKTIME(16)ReportDoctor-PATIENTSELF.REPORTDR(17)ReportDepartment-NULL(18)ReportTime-PATIENTSELF.REPORTTIME(19)ImageCount-PATIENTSELF.IMAGECOUNT(20)CheckStatus-PATIENTSELF.CHECKSTATUS(21)CheckDesc-PATIENTSELF.CHECKDESC(22)DiagDesc-PATIENTSELF.DIAGNOSEDESC(23)PatientType-0(24)Fee-PATIENTE.FEE(25)AskAdvice-PATIENTE.ASKADVICE(26)CheckPos-PATIENTE.CHECKPARTDESC(27)BedID-IF (PATIENTSELF.INHOSTPITAL != NULL) IDPATIENTSELF.SICKBEDID ELSE NULL(28)OrganCount-(30)Positive-对于有阳性的数据表特殊处理SQL 语句如下旧数据库类型A:(龙岗78M数据库)修改PATIENTSELF表,将PATIENTE中的部分字段FEE、ASKADVICE、CHECKPARTDESC加入其中修改PATIENTSELF表,加入AGETYPE字段,类型int修改PATIENTSELF表,加入OUTPAITENTID字段,类型varchar 20修改PATIENTSELF表,加入ASKDATE字段,类型varchar 20修改PATIENTSELF表,加入CHECKDAYID字段,类型int选中旧数据库UPDATE PATIENTSELF SET PATIENTSELF.FEE=PATIENTE.FEE, PATIENTSELF.ASKADVICE=PATIENTE.ASKADVICE, PATIENTSELF.CHECKPARTDESC=PATIENTE.CHECKPARTDESC FROM PATIENTSELF, PATIENTE WHERE PATIENTSELF.ENDSCPID=PATIENTE.ENDSCPID AND PATIENTSELF.INSTRUMENTID=PATIENTE.INSTRUMENTID;/清除错误的数据DELETE FROM PATIENTSELF WHERE ASKTIME IS NULL;UPDATE PATIENTSELF SET AGETYPE=0 WHERE AGE200 AND AGE300;UPDATE PATIENTSELF SET SEX=SEX+1;UPDATE PATIENTSELF SET SEX=0 WHERE SEX=3;UPDATE PATIENTSELF SET OUTPAITENTID=SICKBEDID, SICKBEDID=NULL WHERE INHOSPITAL IS NULL;UPDATE PATIENTSELF SET OUTPAITENTID=SICKBEDID, SICKBEDID= WHERE INHOSPITAL=;UPDATE PATIENTSELF SET ASKDATE=LTRIM(STR(DATEPART(year, ASKTIME)+RIGHT(CAST(POWER(10,2) AS varchar)+DATEPART(month, ASKTIME),2)+RIGHT(CAST(POWER(10,2) AS varchar)+DATEPART(day, ASKTIME),2);DROP PROCEDURE UPDATECHECKDAYID;CREATE PROCEDURE UPDATECHECKDAYID INSTRUID INTASDECLARE dayid intDECLARE patientid int-临时变量,用来保存游标值DECLARE askdate varchar(20)DECLARE oldaskdate varchar(20)set dayid=1set oldaskdate=BEGIN TRAN -申明事务-申明游标 为patientidDECLARE order_cursor CURSOR FOR SELECT PATIENTID, ASKDATE FROM PATIENTSELF WHERE INSTRUMENTID=INSTRUID ORDER BY ASKDATE-打开游标open order_cursorFETCH NEXT FROM order_cursor INTO patientid, askdateWHILE FETCH_STATUS = 0 -返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。begin if askdate=oldaskdate beginset dayid=dayid+1 end else beginset dayid=1set oldaskdate=askdate end -执行sql操作 UPDATE PATIENTSELF SET CHECKDAYID=dayid WHERE PATIENTID=patientid FETCH NEXT FROM order_cursor INTO patientid, askdateendCOMMIT TRAN-提交CLOSE order_cursor-关闭游标DEALLOCATE order_cursor-释放游标GO针对每一个机台号,执行EXEC UPDATECHECKDAYID INSTRUID = 1EXEC UPDATECHECKDAYID INSTRUID = 2EXEC UPDATECHECKDAYID INSTRUID = 3EXEC UPDATECHECKDAYID INSTRUID = 4EXEC UPDATECHECKDAYID INSTRUID = 5EXEC UPDATECHECKDAYID INSTRUID = 6EXEC UPDATECHECKDAYID INSTRUID = 7.UPDATE PATIENTSELF SET RECORDCDNO=ASKDATE+RIGHT(CAST(POWER(10,3) AS varchar)+CHECKDAYID,3);INSERT MedImgMgrSysLG.dbo.tbPatientInformation(MedicalID, InHospitalID, OutPatientID, CheckID, InstrumentID, PatientName, Sex, Age, AgeType, Address, Phone, AskDepartment, AskDoctor, CheckDoctor, CheckTime, ReportDoctor, ReportTime, ImageCount, CheckStatus, CheckDesc, DiagDesc, PatientType, Fee, AskAdvice, CheckPos, BedID) SELECT MEDICCAREID, INHOSPITAL, OUTPAITENTID, RECORDCDNO, I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业活动执行承揽合同
- 2025年洛阳市市属学校普通高校招聘教师考试真题
- 2025年中山市公安局三乡分局辅警招聘真题
- 2025年湖南兵器轻武器研究所有限责任公司招聘考试真题
- 《商务数据可视化》课件-7.6 运用高级DAX函数实现复杂分析与建模(上)
- 2026河北经贸大学公开选聘学术副校长考试模拟试题及答案解析
- 2026年崇左市文化局系统事业单位人员招聘考试备考试题及答案详解
- 2026年白银市党校系统事业单位人员招聘考试备考试题及答案详解
- 2026年沧州市车辆管理系统事业单位人员招聘考试备考试题及答案详解
- 2026年郴州市城管协管人员招聘考试备考试题及答案详解
- 退工登记情况表
- 2024人教版一年级美术上册全册教案
- 学校国家义务教育质量监测应急预案
- FSSC22000 V6食品安全管理体系管理手册及程序文件
- 工艺规程设计
- 王安石待客的课件
- 支委会召开流程
- 部队个人酒驾安全预案
- 政务服务工作汇报课件
- T-GDWHA 0020-2025 一体化泵闸设计制造安装及验收规范
- 涉台教育主题班会课件
评论
0/150
提交评论