SQL多表聯合查詢實現插入/更新/刪除
具體描述:有兩個表相關聯,比如A是主表,B是A的關聯從表。A和B各自的主鍵都是自動增長的。
所以插入順序:先插入A,再插入B;
更新順序:隨意;
刪除順序:先刪除B,再刪除A;
1、刪除B時的聯合查詢語句如下
delete B from B,A where RTRIM(FailureMode)=RTRIM(@FailureMode) and RTRIM(ShiftCode)=RTRIM(@ShiftCode)
其中FailureMode是B的欄位,@FailureMode是值
ShiftCode是A的欄位,@ShiftCode是值
因為欄位不重名,所以不用特變限定是哪個表的
2、插入B時的聯合查詢語句如下
insert into B(EfficiencyID,FailureMode,Reject,RejectYield) (select EfficiencyID,RTRIM(@FailureMode),@Reject,@RejectYield from A where RTRIM(ShiftCode)=RTRIM(@ShiftCode) and RTRIM(SiteCode)=RTRIM(@SiteCode))
其中Reject,RejectYield,FailureMode是B的欄位
ShiftCode是A的欄位
A和B 是通過EfficiencyID關聯的,注意語句寫法
3、更新的聯合查詢語句如下
update B set [email protected],[email protected] from B,A where RTRIM(FailureMode)=RTRIM(@FailureMode) and RTRIM(ShiftCode)=RTRIM(@ShiftCode)
其中Reject,RejectYield,FailureMode是B的欄位
ShiftCode是A的欄位
其餘同上