收藏 分销(赏)

医学影像信息系统:医学信息系统.docx

上传人:可**** 文档编号:4198333 上传时间:2024-08-21 格式:DOCX 页数:12 大小:25.60KB
下载 相关 举报
医学影像信息系统:医学信息系统.docx_第1页
第1页 / 共12页
医学影像信息系统:医学信息系统.docx_第2页
第2页 / 共12页
医学影像信息系统:医学信息系统.docx_第3页
第3页 / 共12页
医学影像信息系统:医学信息系统.docx_第4页
第4页 / 共12页
医学影像信息系统:医学信息系统.docx_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、【bjtu_h_reg_info_del_new】删除触发器CREATE OR REPLACE TRIGGER bjtu_h_reg_info_delAFTER DELETE ON HFAN.BJTU_H_REG_INFOREFERENCING OLD AS O NEW AS NFOR EACH ROWdeclare(声明一个变量)h_pay_type varchar2(3);(字符型) (数字型:number)begin select h_patient_type into h_pay_type from bjtu_h_patient where h_patient_id=:O.h_pati

2、ent_id; UPDATE bjtu_h_in_stat1 SET h_reg_num = h_reg_num -1 WHERE (in_stat_day = :O.in_hos_date) AND(h_patient_type = h_pay_type) and (h_dep_code = :O.h_dep_code); end;【bjtu_h_reg_info_ins_new】插入触发器CREATE OR REPLACE TRIGGER bjtu_h_reg_info_insAFTER INSERT ON HFAN.BJTU_H_REG_INFOREFERENCING OLD AS O

3、NEW AS NFOR EACH ROWdeclareh_pay_type varchar2(3);begin select h_patient_type into h_pay_type from bjtu_h_patient where h_patient_id=:N.h_patient_id; UPDATE bjtu_h_in_stat1 SET h_reg_num = h_reg_num + 1(药品分装的时候set 字段 = 值,不加新值) WHERE (in_stat_day = :N.in_hos_date) AND (h_dep_code = :N.h_dep_code)and

4、(h_patient_type = h_pay_type); if SQL%NOTFOUND then INSERT into bjtu_h_in_stat1 (in_stat_day,h_patient_type, h_dep_code, h_reg_num) VALUES (:N.in_hos_date,h_pay_type,:N.h_dep_code, 1); end if; end;bjtu_h_reg_info_upd_new修改触发器CREATE OR REPLACE TRIGGER bjtu_h_reg_info_updAFTER UPDATE OF IN_HOS_DATE,H_

5、DEP_CODE ON HFAN.BJTU_H_REG_INFOREFERENCING OLD AS O NEW AS NFOR EACH ROWdeclareh_pay_type varchar2(3);Beginselect h_patient_type into h_pay_type from bjtu_h_patient where h_patient_id=:O.h_patient_id; UPDATE bjtu_h_in_stat1 SET h_reg_num = h_reg_num -1 WHERE (in_stat_day = :O.in_hos_date) and (h_pa

6、tient_type = h_pay_type) and (h_dep_code = :O.h_dep_code);select h_patient_type into h_pay_type from bjtu_h_patient where h_patient_id=:N.h_patient_id; UPDATE bjtu_h_in_stat1 SET h_reg_num = h_reg_num + 1 WHERE (in_stat_day = :N.in_hos_date) AND (h_dep_code = :N.h_dep_code)and (h_patient_type = h_pa

7、y_type); if SQL%NOTFOUND then INSERT into bjtu_h_in_stat1 (in_stat_day,h_patient_type, h_dep_code, h_reg_num) VALUES (:N.in_hos_date,h_pay_type,:N.h_dep_code, 1); end if;End ;【bjtu_c_fee_detail_ins】CREATE OR REPLACE TRIGGER bjtu_c_fee_detail_ins AFTER INSERT ON HFAN.BJTU_C_FEE_DETAIL REFERENCING OLD

8、 AS O NEW AS N FOR EACH ROWbegin begin UPDATE bjtu_c_patient_acc_fee SET fee_num = fee_num + :N.fee_num WHERE (bjtu_c_patient_acc_fee.c_patient_id =:N.c_patient_id) AND (bjtu_c_patient_acc_fee.c_patient_seq_id =:N.c_patient_seq_id) AND (bjtu_c_patient_acc_fee.c_reg_date = :N.c_reg_date) AND (bjtu_c_

9、patient_acc_fee.account_type = :N.account_type); if SQL%NOTFOUND then INSERT into bjtu_c_patient_acc_fee (c_patient_id, c_patient_seq_id, c_reg_date, account_type, fee_num) VALUES (:N.c_patient_id, :N.c_patient_seq_id, :N.c_reg_date, :N.account_type, :N.fee_num); end if; end;end;【bjtu_c_fee_detail_d

10、el】CREATE OR REPLACE TRIGGER bjtu_c_fee_detail_del AFTER DELETE ON HFAN.BJTU_C_FEE_DETAIL REFERENCING OLD AS O NEW AS N FOR EACH ROWbegin begin UPDATE bjtu_c_patient_acc_fee SET fee_num = fee_num - :O.fee_num WHERE (bjtu_c_patient_acc_fee.c_patient_id = :O.c_patient_id) AND (bjtu_c_patient_acc_fee.c

11、_patient_seq_id = :O.c_patient_seq_id) AND (bjtu_c_patient_acc_fee.c_reg_date = :O.c_reg_date) AND (bjtu_c_patient_acc_fee.account_type = :O.account_type); end;end;【bjtu_c_fee_detail_upd】CREATE OR REPLACE TRIGGER bjtu_c_fee_detail_upd AFTER UPDATE OF ACCOUNT_TYPE, FEE_NUM ON HFAN.BJTU_C_FEE_DETAIL R

12、EFERENCING OLD AS O NEW AS N FOR EACH ROWbegin begin UPDATE bjtu_c_patient_acc_fee SET fee_num = fee_num - :O.fee_num WHERE (bjtu_c_patient_acc_fee.c_patient_id = :O.c_patient_id) AND (bjtu_c_patient_acc_fee.c_patient_seq_id = :O.c_patient_seq_id) AND (bjtu_c_patient_acc_fee.c_reg_date = :O.c_reg_da

13、te) AND (bjtu_c_patient_acc_fee.account_type = :O.account_type); end; begin UPDATE bjtu_c_patient_acc_fee SET fee_num = fee_num + :N.fee_num WHERE (bjtu_c_patient_acc_fee.c_patient_id = :N.c_patient_id) AND (bjtu_c_patient_acc_fee.c_patient_seq_id = :N.c_patient_seq_id) AND (bjtu_c_patient_acc_fee.c

14、_reg_date = :N.c_reg_date) AND (bjtu_c_patient_acc_fee.account_type = :N.account_type); if SQL%NOTFOUND then INSERT into bjtu_c_patient_acc_fee (c_patient_id, c_patient_seq_id, c_reg_date, account_type, fee_num) VALUES (:N.c_patient_id, :N.c_patient_seq_id, :N.c_reg_date, :N.account_type, :N.fee_num

15、); end if; end;end;【bjtu_c_patient_del】CREATE OR REPLACE TRIGGER bjtu_c_patient_delAFTER DELETE ON HFAN.BJTU_C_PATIENTREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE bjtu_c_patient_type SET c_patient_type_num = c_patient_type_num - 1 WHERE bjtu_c_patient_type.c_patient_type = :O.c_patient_type

16、;end;【bjtu_c_patient_ins】CREATE OR REPLACE TRIGGER bjtu_c_patient_insAFTER INSERT ON HFAN.BJTU_C_PATIENTREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE bjtu_c_patient_type SET c_patient_type_num = c_patient_type_num+1 WHERE bjtu_c_patient_type.c_patient_type = :N.c_patient_type; end;【bjtu_c_pa

17、tient_upd】CREATE OR REPLACE TRIGGER bjtu_c_patient_updAFTER UPDATE OF C_PATIENT_TYPE ON HFAN.BJTU_C_PATIENTREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE bjtu_c_patient_type SET c_patient_type_num = c_patient_type_num - 1 WHERE bjtu_c_patient_type.c_patient_type = :O.c_patient_type; UPDATE bj

18、tu_c_patient_type SET c_patient_type_num = c_patient_type_num+1 WHERE bjtu_c_patient_type.c_patient_type = :N.c_patient_type; end;【bjtu_c_reg_info_del】CREATE OR REPLACE TRIGGER bjtu_c_reg_info_delAFTER DELETE ON HFAN.BJTU_C_REG_INFOREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin begin UPDATE bjtu_c_r

19、eg_dep_stat SET c_reg_num = c_reg_num - 1 WHERE (bjtu_c_reg_dep_stat.c_stat_day = :O.c_reg_date) AND (bjtu_c_reg_dep_stat.c_reg_type = :O.c_reg_type) AND (bjtu_c_reg_dep_stat.h_dep_code = :O.h_dep_code); end;end;【bjtu_c_reg_info_ins】CREATE OR REPLACE TRIGGER bjtu_c_reg_info_insAFTER INSERT ON HFAN.B

20、JTU_C_REG_INFOREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin begin UPDATE bjtu_c_reg_dep_stat SET c_reg_num = c_reg_num + 1 WHERE (bjtu_c_reg_dep_stat.c_stat_day = :N.c_reg_date) AND (bjtu_c_reg_dep_stat.c_reg_type = :N.c_reg_type) AND (bjtu_c_reg_dep_stat.h_dep_code = :N.h_dep_code); if SQL%NOTFOUN

21、D then INSERT into bjtu_c_reg_dep_stat (c_stat_day, c_reg_type, h_dep_code, c_reg_num) VALUES (:N.c_reg_date, :N.c_reg_type, :N.h_dep_code, 1); end if; end;end;【bjtu_c_reg_info_upd】CREATE OR REPLACE TRIGGER bjtu_c_reg_info_updAFTER UPDATE OF C_REG_TYPE,H_DEP_CODE ON HFAN.BJTU_C_REG_INFOREFERENCING O

22、LD AS O NEW AS NFOR EACH ROWbegin UPDATE bjtu_c_reg_dep_stat SET c_reg_num = c_reg_num - 1 WHERE (bjtu_c_reg_dep_stat.c_stat_day = :O.c_reg_date) AND (bjtu_c_reg_dep_stat.c_reg_type = :O.c_reg_type) AND (bjtu_c_reg_dep_stat.h_dep_code = :O.h_dep_code); begin UPDATE bjtu_c_reg_dep_stat SET c_reg_num

23、= c_reg_num + 1 WHERE (bjtu_c_reg_dep_stat.c_stat_day = :N.c_reg_date) AND (bjtu_c_reg_dep_stat.c_reg_type = :N.c_reg_type) AND (bjtu_c_reg_dep_stat.h_dep_code = :N.h_dep_code); if SQL%NOTFOUND then INSERT into bjtu_c_reg_dep_stat (c_stat_day, c_reg_type, h_dep_code, c_reg_num) VALUES (:N.c_reg_date

24、, :N.c_reg_type, :N.h_dep_code, 1); end if; end;end;【bjtu_h_reg_info_del】CREATE OR REPLACE TRIGGER bjtu_h_reg_info_delAFTER DELETE ON HFAN.BJTU_H_REG_INFOREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE bjtu_h_in_stat SET h_reg_num = h_reg_num -1 WHERE (in_stat_day = :O.in_hos_date) AND (h_dep_

25、code = :O.h_dep_code); end;【bjtu_h_reg_info_ins】CREATE OR REPLACE TRIGGER bjtu_h_reg_info_insAFTER INSERT ON HFAN.BJTU_H_REG_INFOREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin begin UPDATE bjtu_h_in_stat SET h_reg_num = h_reg_num + 1 WHERE (in_stat_day = :N.in_hos_date) AND (h_dep_code = :N.h_dep_co

26、de); if SQL%NOTFOUND then INSERT into bjtu_h_in_stat (in_stat_day, h_dep_code, h_reg_num) VALUES (:N.in_hos_date, :N.h_dep_code, 1); end if; end;end;【bjtu_h_reg_info_upd】CREATE OR REPLACE TRIGGER bjtu_h_reg_info_updAFTER UPDATE OF IN_HOS_DATE,H_DEP_CODE ON HFAN.BJTU_H_REG_INFOREFERENCING OLD AS O NE

27、W AS NFOR EACH ROWBeginUPDATE bjtu_h_in_stat SET h_reg_num = h_reg_num -1 WHERE (in_stat_day = :O.in_hos_date) AND (h_dep_code = :O.h_dep_code); begin UPDATE bjtu_h_in_stat SET h_reg_num = h_reg_num + 1 WHERE (in_stat_day = :N.in_hos_date) AND (h_dep_code = :N.h_dep_code); if SQL%NOTFOUND then INSER

28、T into bjtu_h_in_stat (in_stat_day, h_dep_code, h_reg_num) VALUES (:N.in_hos_date, :N.h_dep_code, 1); end if; end;End ;插入触发器0CREATE OR REPLACE TRIGGER ic_id_def_insAFTER INSERT ON HFAN.IC_ID_DEFREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE ic_pay_type SET p_num = p_num+1 WHERE ic_pay_type.pa

29、y_type = :N.pay_type; end;插入触发器1CREATE OR REPLACE TRIGGER ic_id_def_insAFTER INSERT ON HFAN.IC_ID_DEFREFERENCING OLD AS O NEW AS NFOR EACH ROWdeclare stat_day varchar2(10); begin select to_char(sysdate, yyyy/mm/dd) into stat_day from dual; UPDATE ic_pay_type SET p_num = p_num+1 WHERE ic_pay_type.pay

30、_type = :N.pay_type; begin UPDATE bjtu_c_reg_dep_stat SET c_reg_num = c_reg_num+1 WHERE ( bjtu_c_reg_dep_stat.c_stat_day = :N.c_reg_date ) AND ( bjtu_c_reg_dep_stat.c_reg_type = :N.c_reg_type ) AND ( bjtu_c_reg_dep_stat.h_dep_code = :N.h_dep_code ) ;if SQL%NOTFOUND then INSERT bjtu_c_reg_dep_stat (

31、c_stat_day, c_reg_type, h_dep_code, c_reg_num) VALUES ( :N.c_reg_date, :N.c_reg_type, :N.h_dep_code, 1 ) ; end if; end;end;删除触发器0CREATE OR REPLACE TRIGGER ic_id_def_delAFTER DELETE ON HFAN.IC_ID_DEFREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE ic_pay_type SET p_num = p_num - 1 WHERE ic_pay_t

32、ype.pay_type = :O.pay_type;end;删除触发器1CREATE OR REPLACE TRIGGER ic_id_def_delAFTER DELETE ON HFAN.IC_ID_DEFREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE ic_pay_type SET p_num = p_num - 1 WHERE ic_pay_type.pay_type = :O.pay_type; UPDATE ic_id_stat SET p_num = p_num - 1 WHERE ( ic_id_stat.st_da

33、y = :O.reg_day ) AND ( ic_id_stat.pay_type = :O.pay_type ) ; end;修改触发器0CREATE OR REPLACE TRIGGER ic_id_def_updAFTER UPDATE OF PAY_TYPE ON HFAN.IC_ID_DEFREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE ic_pay_type SET p_num = p_num - 1 WHERE ic_pay_type.pay_type = :O.pay_type; UPDATE ic_pay_type

34、 SET p_num = p_num + 1 WHERE ic_pay_type.pay_type = :N.pay_type; end;修改触发器1CREATE OR REPLACE TRIGGER ic_id_def_updAFTER UPDATE OF PAY_TYPE,REG_DAY ON HFAN.IC_ID_DEFREFERENCING OLD AS O NEW AS NFOR EACH ROWbegin UPDATE ic_pay_type SET p_num = p_num + 1 WHERE ic_pay_type.pay_type = :N.pay_type; UPDATE

35、 ic_pay_type SET p_num = p_num - 1 WHERE ic_pay_type.pay_type = :O.pay_type; UPDATE ic_id_stat SET p_num = p_num - 1 WHERE ( ic_id_stat.st_day = :O.reg_day ) AND ( ic_id_stat.pay_type = :O.pay_type ) ; UPDATE ic_id_stat SET p_num = p_num + 1 WHERE ( ic_id_stat.st_day = :N.reg_day ) AND ( ic_id_stat.

36、pay_type = :N.pay_type ) ; end;脚本INSERT INTO ic_id_def ( ic_id, p_name, id_def, address, tel_no, pay_type ) VALUES ( 100, 张三, null, null, null, 01 ) ;commit; INSERT INTO ic_id_def ( ic_id, p_name, id_def, address, tel_no, pay_type, reg_day ) VALUES ( 100, 张三, null, null, null, 01, to_char(sysdate, y

37、yyy/mm/dd) ) ;cselect * from bjtu_c_patient; INSERT INTO bjtu_c_patient ( c_patient_id, c_patient_name, c_patient_age, c_patient_address, c_patient_tel, c_patient_type, c_patient_reg_date, c_patient_seq_id ) VALUES ( 0008, 李六, 19, 22222, 133325366333, 02, 2012/12/12, null ) ;select count(c_patient_i

38、d) from bjtu_c_patientwhere c_patient_type=01;select c_patient_type_numfrom bjtu_c_patient_typewhere c_patient_type=01;select sum(c_patient_type_num)from bjtu_c_patient_type DELETE FROM bjtu_c_patient WHERE bjtu_c_patient.c_patient_id = 0008 ; UPDATE bjtu_c_patient SET c_patient_type = 02 WHERE bjtu_c_patient.c_patient_id = 0001 ;12

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服