給資料庫中所有表中的乙個字段進行減法

2021-10-10 15:01:57 字數 1049 閱讀 9565

begin

-- 定義迴圈條件

declare flag int default 0

;-- 儲存表名

declare tname varchar(50

);-- 查詢資料庫test中含有userid列的表,如果區分大小寫使用binary column_name =

'userid'

declare result cursor for select table_name from information_schema.columns where table_schema =

'pangu' and column_name =

'dt_create_time'

;-- 退出迴圈

declare continue handler for sqlstate '02000' set flag =1;

-- 開啟游標

open result;

while flag <

>

1 do

-- 游標指向下乙個位置,可以有多個資料,比如fetch result into tname,ttype,..

.;fetch result into tname;

-- 拼接字串表名sql,根據需要使用concat函式連線

-- set @execsql

=concat

('select * from '

,tname,

' where imei = '

,oldimei,

' ;');

set @execsql

=concat

('update '

, tname,

' set dt_create_time = date_sub(dt_create_time,interval 1 day) ;');

prepare stmt from @execsql

; execute stmt;

end while;

end

參考連線:

MySQL資料庫新增乙個字段

1 新增乙個字段 alter table tablename add 列名 資料型別 2 新增乙個字段設定預設值 alter table tablename add 列名 資料型別 default 0 注 這裡設定預設值為0 例子 在users表新增乙個int型別的字段isadmin,預設值為0 a...

在oracle資料庫中的乙個表給多個字段新增觸發器

完整 如下 先建立乙個表 create table a id number 2 mc number 2 gxsj number 2 type number 2 給表的多個字段建立觸發器 create orreplace trigger weather history update weather h...

oracle批量更新乙個表中的乙個字段

最近遇到乙個sql問題。老大們讓我把乙個表中的一列資料做更新。更新的內容和對照表有給提供。後來仔細檢視資料 總結出這樣的sql 語句。update 更新表 b set b.需要更新的字段 select a.參考更新字段 from 對照表 a where a.對照表舊欄位 b.更新表需要更新的字段 注...