下面這條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...