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.更新表需要更新的字段 注...