保存されていない冗長フィールドの問題を解決するためにトリガを使用してMySQL

t_trans_surgery_infoテーブル冗長分野における他の関連するテーブルの保存

TRIGGERのauto_set_valueをドロップします。

EACH ROW FOR t_trans_surgery_info INSERT ON BEFOREトリガーのauto_set_valueをCREATE 
開始
SET 新しい .patient_id = 
    SELECT 
        p.patient_id 
    FROM 
        t_trans_patient P 
    LEFT p.patient_id ON t_trans_seek_medical MをJOIN = m.patient_id 
    WHERE 
        m.medical_id = 新しい.medical_idを

SET 新しい .his_patient_id = 
    SELECT 
        p.his_patient_id 
    FROM 
        t_trans_patient P 
    LEFTはp.patient_id ON t_trans_seek_medical MをJOIN= m.patient_id 
    WHERE 
        m.medical_id = 新しい.medical_id 
)。

SET 新しい .patient_name = 
    SELECT 
        p.patient_name 
    FROM 
        t_trans_patient P 
    LEFTはp.patient_id ON t_trans_seek_medical MをJOIN = m.patient_id 
    WHERE 
        m.medical_id = 新しい.medical_id 
)。

SET 新しい .patient_pym = 
    SELECT 
        p.pym 
    FROM 
        t_trans_patient P 
    LEFTはp.patient_id ON t_trans_seek_medical MをJOIN= m.patient_id 
    WHERE 
        m.medical_id = 新しい.medical_id 
)。

SET 新しい .patient_type = 
    SELECT 
        m.patient_type 
    FROM 
        t_trans_seek_medical M 
        m.medical_id = 新しい.medical_id 
)。

SET 新しい .opt_room_name = 
    SELECT 
        r.room_name 
    FROM 
        t_base_operation_room R 
    WHERE 
        r.opt_room_id = 新しい.opt_room_id 
)。

セット新しい .opt_room_pym = 
    SELECT 
        r.pym 
    FROM 
        t_base_operation_room R 
    WHERE 
        r.opt_room_id = 新しい.opt_room_id 
)。

SET 新しい .opt_room_no = 
    SELECT 
        r.room_no 
    FROM 
        t_base_operation_room R 
    WHERE 
        r.opt_room_id = 新しい.opt_room_id 
)。

SET 新しい .dept_pym = 
    SELECT 
        d.pym 
    FROM 
        t_base_dept D 
    WHERE 
        d.dept_id = 新しい.dept_id 
)。

SET 新しい .dept_name = 
    SELECT 
        d.dept_name 
    FROM 
        t_base_deptさd 
        d.dept_id = 新しい.dept_id 
)。

終わり

 

おすすめ

転載: www.cnblogs.com/guanxiaohe/p/11993563.html