1.1適用於單條或者因為in條件1-1000條資料
下面是更改cms_contract_info 表中合同編號為cmcc987最後更新時間為當前時間,或者注釋裡特定時間。
1update
cms_contract_info cci
2set cci.last_update_date =
sysdate3/*
to_date('20190516 10:12:50','yyyymmdd hh24:mi:ss')*/4
where cci.contract_no in ('
cmcc987
')
1.2 使用where表條件可更改大批量資料,但改之前一定注意備份。
1.3 有時候需要根據條件往後推時間。我使用語句塊來完成。
以下語句塊是,完成根據條件( 你要更改的資料條件)完成每10分鐘往後更新30條資料,資料的開始時間都由你設定。
1--儲存過程或語句塊宣告時使用
2declare3--
定義更改時間變數
4v_commit_time date;5--
定義你要打散數量
6 v_count int;7
--你引數的型別和資料庫一致
8 v_contract_no cms.cms_contract_info.contract_no%
type;
9begin
10--
初始化引數
11 v_count :=1;
12 v_commit_time :=
sysdate;
13/*
v_commit_time := to_date('2018-12-10 00:00:01', 'yyyy-mm-dd hh24:mi:ss');
*/14
--把需要改的資料條件標識資料迴圈到contract_cursor中
15for contract_cursor in(select ci.contract_no from
cms_contract_info ci
16where ci.contract_no in()group
byci.contract_no)
1718
loop
19--
根據迴圈的條件更新資料
20update
cms.cms_contract_info ci
21set last_update_date =
v_commit_time
22where ci.contract_no =
contract_cursor.contract_no;
23--
超過30條更新下一次
24if v_count =
30then
25--
列印修改數目
26 dbms_output.put_line('
更新:'
||to_char(v_count));
27 v_count :=0;
28--
當前時間加10分鐘一批
29 v_commit_time := (v_commit_time+10/
1440
);30
commit;31
endif;32
--下一次更新
33 v_count := v_count +1;
34end
loop;
35 dbms_output.put_line('
更新:'
||to_char(v_count));
36end;
資料庫字段
mysql char size 字長字元,0 255位元組 varchar size 變長字元,0 255位元組 date 日期資料,格式為yyyy mm dd hh mm ss datetime 日期資料,比date更確切,包含分秒 int整形資料 double s,p 數字型,可存放實型和整形,...
php之批量更新mysql資料庫字段
為了提高資料庫的響應速度,希望僅通過訪問一次資料庫完成對乙個欄位中多個記錄的更新操作,也就是批量更新,在網上查了許多關於批量更新的例子,一直沒找合適的,不過網上的資料給了我不少啟發,現將這幾天實現的 與大家分享。首先簡述一下我的問題,目的 根據資料庫中的id欄位實現對所有score欄位的更新,假設有...
資料庫更新
region 將資訊存入資料庫store the information to the sql int userid convert.toint32 session userid oledbconnection cn new oledbconnection strcn string sqlcmd u...