如下**,怎樣寫成一句,或中間用什麼字元隔開才能同時執行?
update yao_article set author='/1/35/' where author='山東 - 歷下'
update yao_article set author='/1/36/' where author='山東 - 市中'
update yao_article set author='/1/37/' where author='山東 - 槐蔭'
update yao_article set author='/1/38/' where author='山東 - 天橋'
update yao_article set author='/1/39/' where author='山東 - 歷城'
update yao_article set author='/1/40/' where author='山東 - 長清'
update yao_article set author='/1/41/' where author='山東 - 平陰'
update yao_article set author='/1/42/' where author='山東 - 濟陽'
用case語句試試:
update yao_article set author=(case author when '山東 - 歷下' then '/1/35/' when '山東 - 市中' then '/1/36/' ...... when '山東 - 濟陽' then '/1/42/' else author end) where author like '山東 - %'
***************************
sql資料庫中有1個表名叫 asc001
表中有item_no,item_subo 兩個字段
這個表中有5萬行資料
其中有8000行資料的item_no<>item_subo
現在要將item_no<>item_subo的這8000行資料修改為item_no=item_subo
同時還有45個表,並且這45個表中都有item_no欄位,要將這45個表中的item_no同步更新,有什麼辦法可以解決嗎?
一、臨時表法
1、select item_no, item_subo into tt_diff from asc001 where item_no <> item_subo
必要時,在tt_diff上建立索引,如create index i_tt_item_no on tt_diff( item_no )
2、針對asc001以及另外的45個表,各自執行如下命令:
update 表 set t.item_no = x.item_subo from 表 t, tt_diff x where t.item_no = x.item_no
3、drop table tt_diff
二、觸發器法
1、在asc001上建立如下觸發器
create trigger tr_update_item_no
on asc001
for update
asbegin
if update( item_no ) then
begin
-- 針對45個表,重複如下框架的命令
update 表
set t.item_no = i.item_no
from 表 t, inserted i, deleted d
where t.item_no = i.item_no
and i.item_no <> d.item_no
endend
2、執行命令,使觸發器邏輯發生作用
update asc001 set item_no = item_subo where item_no <> item_subo
3、刪除觸發器
drop trigger tr_update_item_no
說明:若採用第二種方法,當asc001上已經有觸發器的時候,需要先儲存其指令碼,幹完這個活兒後再恢復,並且,所有改變發生在乙個事務中,要求日誌空間得足夠大。
sql批量更新
批量更新 1 statement statement cn.createstatement addbatch sql1 addbatch sql2 executebatch 乙個statement物件,可以執行多個sql語句以後,批量更新。這多個語句可以是delete update insert等或...
sql批量更新
批量更新 mysql更新語句很簡單,更新一條資料的某個字段,一般這樣寫 複製 如下 update mytable set myfield value where other field other value 如果更新同一欄位為同乙個值,mysql也很簡單,修改下where即可 複製 如下 upda...
批量更新sql 批量update sql
批量更新sql 批量update sql 批量更新表時,update乙個表的列時,需要依賴另外的表,這種依賴可以是where條件子句,也可以要update的field的值依賴另外的表 通常有兩種做法 1.使用儲存過程 2.在程式 裡逐條迴圈執行 這裡給出一種更高效 簡潔的做法,批量更新sql 一句s...