mysql 儲存過程例子

2021-09-02 04:42:01 字數 2082 閱讀 6514

[size=large][b](1)迴圈遍歷值[/b][/size]

drop procedure if exists doit ;

/**delimiter表示以//結束編譯**/

delimiter //

create procedure doit (in parameter integer)

begin

declare v1 int ;

set v1 = parameter ;

set parameter = 90 ;

while v1>0 do

select now();

set v1 = v1 - 1 ;

end while ;

select parameter ;

end;

//delimiter ;

[size=large][b](2)動態執行sql並注入引數[/b][/size]

drop procedure if exists test_insert ;

-- delimiter表示以//結束編譯

delimiter //

create procedure test_insert(in num int)

begin

-- 使用變數時不能使用declare 只能用set @id = .. 模式

-- declare v1 int(11);

set @v1=num ;

-- declare sql varchar(200);

-- declare name varchar(20);

set @name='wxlan' ;

set @sql='insert into test values(?,?,now())' ;

prepare state_ from @sql ;

while @v1 > 0 do

execute state_ using @v1,@name ;

set @v1 = @v1 -1 ;

end while ;

end;

//delimiter ;

[size=large][b](3)游標是使用[/b][/size]

drop procedure if exists test_cursor ;

-- delimiter表示以//結束編譯

delimiter //

create procedure test_cursor(out result varchar(128))

begin

-- 游標所使用變數需要在定義游標之前申明

declare id int(11);

declare name varchar(20);

-- 遍歷資料結束標誌 注意位置順序

declare done int default false;

-- 注意用別名 因為id在上面已經有定義所以需要使用表的別名區別

declare cur_test cursor for select t.id,t.name from test t;

-- 將結束標誌繫結到游標

declare continue handler for not found set done = true;

open cur_test;

repeat

fetch cur_test into id, name;

select id ;

-- concat_ws函式用逗號後面的引數隔開 concat_ws(',','12','33','332') --> 12,33,332

select concat_ws(',',result,id,name) into result ;

until done

end repeat;

close cur_test;

select result ;

end;

//delimiter ;

mysql 儲存過程 例子 MySQL儲存過程例子

索引 index create index idx sname on student sname 4 alter table teacher add index idx tname tname drop index idx sname on student 檢視 view create view v...

mysql儲存過程小例子

drop procedure if exists customview logs pro delimiter create procedure customview logs pro in counts bigint begin declare i bigint default 1 declare ...

MySQL的儲存過程例子

create procedure update article htmlurl 建立乙個名字為update article htmlurl的儲存過程 begin 開始 declare var num int 定義變數var num 型別為int declare var articleid int 定...