資料庫 批量查詢結果作為更新的值

2021-09-07 12:42:29 字數 1577 閱讀 7513

1. 資料庫批量更新。

業務需求:

須要將a表中 type為1 的資料的source_id更新為新的id。

由於之前的id是儲存在p_server中。如今更新到了server_info表中

update a set source_id = s.server_id  from 

(select p_server.p_id,p_server.index_code,server_info.server_id

from p_server join server_info

on p_server.index_code = server_info.index_code) s where

a.source_id = s.p_id

and type = 1;

2. 更新資料庫中的值。可是這些值存在不同的表中

create or replace function replace_img_url()

returns setof refcursor as

$body$

declare _ss_urls record;

updatevehicle "varchar" := '';

updateimage "varchar" := '';

ss_ip "varchar" := '';

begin

for _ss_urls in execute 'select svr_id as server_id,svr_ip||'':''||substring(svr_config,e''([0-9]*)?'') as url from server_multi_ip where svr_type = 20002' loop

replace(image_url, '''||_ss_urls.url||''','''||_ss_urls.server_id||''') as url from alarm_image) tep

execute updateimage;

updatevehicle :='update vehicle_recognition set vehicle_image_url = tep.url from (select vehicle_recog_id as id,vehicle_recog_id, replace(vehicle_image_url, '''||_ss_urls.url||''',

'''||_ss_urls.server_id||''') as url from vehicle_recognition) tep where vehicle_recognition.vehicle_recog_id = tep.id';

execute updatevehicle;

end loop;

end; $body$

language plpgsql volatile

cost 100

rows 1000;

alter function replace_img_url() owner to postgres;

listctrl作為資料庫查詢結果顯示的應用

1.import c program files x86 common files system ado msado15.dll no namespace rename eof endoffile 2.listctrl設定為report,基本步驟就是 1 插入並設定屬性 m list.insertc...

批量更新資料庫

前言 最近做了個專案 把txt檔案中的資源資訊全量更新到資料庫中,拿到這個專案後,我首先考慮到效能問題應該是個大問題,於是想到了用批處理解決,但是批處理不能支援事物回滾,且只能一條一條sql執行,效率雖然比直接更新資料庫要快,且不占用cpu。經諮詢有一種更好的方法,就是先用c 自帶提供的方法sqlb...

資料庫批量更新維護

情況 多台資料庫伺服器,每台伺服器多個資料庫,資料庫結構一致 提供給不同客戶使用 一 手工操作 1 資料庫少 下拉列表選擇不同資料庫,執行更新指令碼sql.資料庫少,操作感覺不到麻煩。2 資料庫多 下拉列表選擇不同資料庫,操作麻煩,容易遺漏更新資料庫。sql server management st...