如何在多个表中插入新记录并在主记录中对其进行更新

时间:2018-12-22 05:30:16

标签: sql sql-server

我正在尝试建立一个患者药物追踪系统,基于每天提供的药物进行诊断。默认情况下会有一些常规药物,但根据及时需要将添加新药物

我有4张桌子:

  

1)(病人桌)包含床号,姓名和他的问题。

     

2)(药桌)根据适时需要每天服药几次   可以添加新剂量。

     

3)每日检查清单表,检查今天如何使用药物   和谁。

     

4)包含所有记录的患者主记录   床号,名称,问题和毒品,所有已给予的毒品   他。

问题是,当我尝试更新药物表中的最新记录时,它应该自动添加到主记录中,并且我需要使用UPDATE函数来执行此操作。不管使用哪种药物,我都使用患者床位来添加和监视他的每日药物使用情况,并更新主表中“金额”部分中的“帐单”。简单地计算出由药物支付的总金额。

患者表:

----------------------------
no  | bed NO | name  | diagnosis
---------------------------------
1     101      james    ptsd 
2    102       kim     T.b

检查清单

------------------------------
no | DRUGS | DOSAGE | amount
------------------------------
1    xxx      .25gms  $2
1    xxy      .25gms  $2
2    xyx      .25gms  $2
2    yxx      .25gms  $2
2    yyx      .25gms  $2

药物桌:

不必要

最终表:

ID   |  Patient name  | total  |

1         james         $4
2         kim          $6

但是如果要添加任何新记录或要添加新患者,我需要使用UPDATE函数进行更新

1 个答案:

答案 0 :(得分:2)

您似乎必须在将记录插入药物表时创建触发器,依赖表将被更新。

触发器的语法

CREATE [OR REPLACE ] TRIGGER trigger_name 
{BEFORE | AFTER | INSTEAD OF } 
{INSERT [OR] | UPDATE [OR] | DELETE} 
[OF col_name] ON table_name [REFERENCING OLD AS o NEW AS n] 
[FOR EACH ROW] WHEN (condition) DECLARE Declaration 
    - statements BEGIN Executable 
    - statements EXCEPTION Exception 
    - handling 
    - statements END;

浏览link,了解有关触发器的更多详细信息