別名在 update 中的應用

2021-06-21 13:30:28 字數 1061 閱讀 8983

下面這條select語句可以正常使用,可是後面的update語句就不行了,請幫我看看有沒有辦法解決這個問題。  

select*fromstdcostt1leftjoinitemcostt2ont1.pn=t2.pn  

需要做的就是把stdcost表更新,更新的內容**於itemcost,這兩張表是一模一樣,更新的條件就是pn保持一致就ok.  

【正常**】updatestdcostsetstdcost.mat=itemcost.mat,stdcost.lab=itemcost.lab,stdcost.burden=itemcost.burden,stdcost.overhead=itemcost.overhead,stdcost.sub=itemcost.sub,stdcost.price=stdcost.mat+stdcost.lab+stdcost.overhead+stdcost.subfromitemcostwherestdcost.pn=itemcost.pnandstdcost.price=0  

因為正常**太複雜,而且看得很暈,所以希望能簡化一些,然後想到了用別名,結果就不行。  

【簡化**】updatestdcostt1sett1.mat=t2.matfromitemcostt2ont1.pn=t2.pn  

creatdbfitemcost(;  

pnc(28),;  

desc(45),;  

typec(18),;  

matn(9,5),;  

labn(9,5),;  

burdenn(9,5),;  

overheadn(9,5),;  

subn(9,5),;  

pricen(9,5))  

creatdbfstdcost(;  

pnc(28),;  

desc(45),;  

typec(18),;  

matn(9,5),;  

labn(9,5),;  

burdenn(9,5),;  

overheadn(9,5),;  

subn(9,5),;  

pricen(9,5))

sql迴圈語句在update中的應用

在實際的開發場景中,我們有時候要對錶中的所有資料進行批量修改,但是當資料量十分盤龐大時,比如幾百萬幾千萬條資料,這時候我們執行update語句的話就會長時間鎖住該錶。這樣非常容易造成死鎖現象 在企業中dba肯定是不允許執行這種sql語句的 所以為了避免出現這種問題,我們在執行批量修改的語句時就要分批...

alias別名在linux中的使用

補充說明 使用者可利用alias,自定指令的別名。若僅輸入alias,則可列出目前所有的別名設定。alias的效力僅及於該次登入的操作。若要每次登入是即自動設好別名,可在 etc profile或自己的 bashrc中設定指令的別名。還有,如果你想給每一位使用者都生效的別名,請把alias la l...

原來如此的,UPDATE語句是可以更別名的。

if exists select name from sysobjects where name test and type u drop table test if exists select name from sysobjects where name test1 and type u dro...