儲存過程 根據乙個表對另乙個表進行更新

2022-08-11 20:54:18 字數 951 閱讀 9702

編寫mysql儲存過程,通過查詢乙個表中資料,更新到另外乙個表中

舉例來說,存在兩張表roledata,scoreinfo,

下面儲存過程,通過游標,遍歷查詢scoreinfo表中scroe的值來更新表roledata中的role_scroe值

drop procedure if exists `proc_updatescore`;

delimiter ;;

create definer=`root`@`%` procedure `proc_updatescore`()

begin

#routine body goes here...

declare _id int;

declare flag int default true;

declare chk int;

declare cur cursor for select role_id from scoreinfo;

declare continue handler for not found set flag = false;

open cur;

repeat

fetch cur into _id;

select count(*) into chk from roledata where roledata.role_id=_id;

if chk = 1 then

update roledata,scoreinfo set roledata.role_score= (select score from scoreinfo where role_id=_id) where roledata.role_id=_id;

end if;

until flag = false

end repeat ;

close cur ;

end;;

delimiter ;

mysql儲存過程 實現乙個表複製另乙個表的字段

1.儲存過程 功能 登入驗證 邏輯 1 引數說明 v name 使用者登入名 v psd 使用者密碼 v out 使用者不存在或使用者密碼不正確的是否v out 1,否則v out 9 2 步驟 a.從使用者表user查詢使用者名為v name的使用者是否存在 存在則進入下一步,否則v out 1 ...

儲存過程批量從乙個表插入到另乙個表

create proc yscx insert scuserid int scyy nvarchar 500 jmbh varchar 50 result int output asdeclare sqlinsert varchar 500 sqldelete varchar 500 begin t...

Oracle根據乙個表更新另乙個表的幾種寫法

1.declare cursor t1 is select from tablename begin for rec in t1 loop update tablename t set t.detail rec.jieshao where t.objectid rec.objid end loop ...