MySQL儲存過程編寫

2021-06-21 12:32:30 字數 1186 閱讀 5370

我想把乙個資料匯入另外乙個資料表,所以我用mysql在上面實現儲存過程.發現和sql server還是有區別的.具體寫法如下:

drop procedure if exists test_proc;

delimiter //

create procedure test_proc()

begin

-- 宣告乙個標誌done, 用來判斷游標是否遍歷完成

declare done int default 0;

declare _col1 varchar(500) default null;

declare _col2 varchar(500) default null;

declare _col3 varchar(500) default null;

declare _col4 varchar(500) default null;

declare _col5 varchar(500) default null;

-- 宣告游標對應的 sql 語句

declare cur cursor for

select `col 5`,`col 4`,`col 2`,`col 1`,`col 3` from `table 8`;

-- 在游標迴圈到最後會將 done 設定為 1

declare continue handler for not found set done = 1;

-- 執行查詢

open cur;

-- 遍歷游標每一行

repeat

-- 把一行的資訊存放在對應的變數中

fetch cur into _col5, _col4, _col2,_col1,_col3; -- 取資料

if not done then

insert into `aunt_shop` (`cshopaddr`,`cshopcontact`,`cshopdetail`,`cshopname`,`cshopphone`)values ( _col5,_col4,_col2,_col1,_col3);

end if;

until done end repeat;

close cur;

end//

delimiter ;

-- 執行儲存過程

call test_proc();

mysql過程編寫 mysql儲存過程編寫(一)

首先需要知道mysql儲存過程的作用 1 儲存過程能實現較快的執行速度 2 儲存過程能過減少網路流量 3 儲存過程可被作為一種安全機制來充分利用 儲存過程的格式 create procedure 儲存過程名 過程引數 特性引數 begin endeg delimiter create procedu...

oracle 儲存過程 編寫

1 先建立乙個陣列 types create or replace type p index list as varray 35 of number 2 編寫儲存過程,迴圈插入資料 call jdxxendingprov ock p index list 370000,370200,410000,5...

儲存過程的編寫

這些是 sql 92 設定語句,使 mssql 遵從 sql 92 規則 當 set ansi nulls 為 on 時 即使 column name 中包含空值,使用 where column name null 的 select 語句仍返回零行。即使 column name 中包含非空值,使用 ...