1. 程式人生 > >SQL多表聯合查詢實現插入/更新/刪除

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的欄位

      其餘同上