用update語句修改單個或固定的多個倒是問題不大,但大批量的對應修改就不好辦,需要用循環修改。
前提:表jxcgoodslist_dayj中的lb4m的名稱不對,需要用goodscat中的catcname去修改,
jxcgoodslist_dayj表中的字段 lb4與goodscat中的字段catcode一致。
於是用存儲過程來解決,比較方便,過程如下:
create or replace procedure p_updatelbm is -- 創建修改類別名稱的過程
begin
for i in (select catcode, catcname from goodscat where catcode like '____') loop -- for循環取數,條件是catcode是4位數,取類別代碼與名稱
update jxcgoodslist_dayj set lbm4 = i.catcname where lb4 = i.catcode; -- update語句修改jxcgoodslist_dayj表中的lbm4字段,條件是類別代碼相等
commit; -- 自動提交
end loop; -- 循環結束
end p_updatelbm;
在命令窗口執行語句:
exec p_updatelbm;
查詢結果正確。同樣的道理把lb8m和lb6m都進行了修改。
select * from jxcgoodslist_dayj