Mysql儲存過程 變數,條件,迴圈語句用法
資料庫
刪除儲存過程
drop procedure 儲存過程名
儲存過程的下面程式碼是列印到控制檯
select num;
檢視所有資料庫的儲存過程
show procedure status;
檢視儲存過程建立的原始碼
show create procedure 儲存過程名
1、變數的 宣告
Declare 宣告區域性變數
begin end 裡面
在符合語句的開頭,在任何其他語句之前
Declare 變數名 型別[default value];
例題:
Declare a int default 5;
Delimiter $$
Create procedure selectall()
begin
Declare a int default 5;
select a;
end$$
call selectall()$$
2、set的用法
set 變數名 = 表示式的值
例題
Delimiter $$
create procedure p1()
begin
declare a int;
set a = (select sno from student where sno = 201502);
select a;
end$$
call p1()$$
Delimiter $$
create procedure p3()
begin
declare a char;
set a = (select department from student where sno = 201502);
select a;
end$$
call p3()$$
課堂練習
1)建表T(S1,S2)
delimiter ;
create table T
(
S1 int,
S2 int
);
2)定義一個儲存過程,宣告兩個變數a,b,並且設定a,b的初始值為5,將a的值插入表T的s1列,並且當S1>=b,求出S1*A的結果
delimiter $$
Create procedure tselect()
begin
declare a,b int default 5;
insert into T(S1) values(a);
select S1*a from T where S1>=b;
end$$
call tselect()$$
3)條件語句
語法:
IF 條件判斷
THEN 執行語句
ELSE IF 條件判斷
THEN 執行語句
ELSE 執行語句
END IF;
課堂練習 :
輸入一個數,對num進行判斷,
如果num=-1,往表T1中插入資料(num,666);
0 往表T1中插入資料(num,num+1)
1 往表T1中插入資料(num,num+2)
其他 往表T1中插入資料(num,num*5)
首先
建立表
delimiter ;
create table T1(num int);
建立儲存過程
delimiter $$
create procedure insert_t1(in num1 int)
begin
if num1=-1 then
insert into t1(num) values(666);
elseif num1=0 then
insert into t1(num) values(num1+1);
Elseif num1=1 then
insert into t1(num) values(num1+2);
else insert into t1(num) values(num1*5);
end if;
end$$
call insert_t1(1)$$
課堂練習二
輸入0,列印t1表
如果是其他,告訴使用者,你的輸入有誤
delimiter $$
create procedure insert_t1(in num1 int)
begin
if num1=0 then
select * from t1;
else select '您的輸入有誤';
end if;
end$$
call insert_t1(1)$$
A、case 語句
case變數
when 值 then 語句
ELSE 語句
delimiter $$
create procedure p5(in num int)
begin
case num
when 0 then select * from student order by sno asc;
when 1 then select * from student order by sno desc;
else select '您的輸入有誤';
end case;
end$$
call p5(5)$$
// 查詢JAVA的API關於呼叫儲存過程
輸入引數
輸入引數
DEMO
4)迴圈
WHILE END WHILE
標準語法:
WHILE條件判斷 DO 語句
END WHILE;
求出1+2+.....+100
delimiter $$
create procedure p6()
begin
Declare tem int default 1;
Declare sum int default 0;
while tem<=100 do
set sum=sum+tem;
set tem = tem+1;
End while;
select sum;
end$$
repeat end repeat
本身repeat util是do while的形式,意義不同,表示 一直迴圈到滿足until後面的條件為止
標準格式;
REPEAT
語句;
until 判斷條件
end repeat;
求出1+2+.....+100
delimiter $$
create procedure p7()
begin
Declare tem int default 1;
Declare sum int default 0;
repeat
set sum=sum+tem;
set tem = tem+1;
until tem>100
end repeat;
select sum;
end$$
call p7()$$
LOOP END LOOP
標籤:
語法:
標籤名稱:LOOP
語句;
LEAVE 標籤名稱;
END LOOP;
注意 loop 一般要和一個標籤(此處為label,名稱可以自定義,不過要保證前後一致)一起使用,且在 loop 迴圈中一定要有一個判斷條件,能夠滿足在一定的條件下跳出 loop 迴圈(即 leave )!
求出1+2+.....+100
delimiter $$
create procedure p8()
begin
Declare tem int default 1;
Declare sum int default 0;
label:loop
set sum=sum+tem;
set tem = tem+1;
if tem>100 then leave label;
end if;
end loop label;
select sum;
end$$
call p8()$$
相關文章
- Oracle儲存過程乾貨(三):PLSQL迴圈語句Oracle儲存過程SQL
- Python條件語句與迴圈Python
- Python-條件語句和迴圈語句Python
- MySQL儲存過程語句及呼叫MySql儲存過程
- SqlServer中迴圈和條件語句SQLServer
- MYSQL儲存過程-練習3 repeat迴圈MySql儲存過程
- MYSQL儲存過程-練習4 loop迴圈MySql儲存過程OOP
- AWK if(條件)語句與迴圈簡介
- Python學習筆記3(條件語句+迴圈語句)Python筆記
- javascript新手入門之條件語句,迴圈JavaScript
- MySQL迴圈語句MySql
- Mysql中儲存過程、儲存函式、自定義函式、變數、流程控制語句、游標/遊標、定義條件和處理程式的使用示例MySql儲存過程儲存函式變數
- 儲存過程WHERE條件不生效儲存過程
- 條件迴圈語句組成了Python程式碼的骨架Python
- 深入解讀MySQL InnoDB儲存引擎Update語句執行過程MySql儲存引擎
- mysql儲存過程的引數MySql儲存過程
- mysql儲存過程procedure、函式function的用法MySql儲存過程函式Function
- EF中使用SQL語句或儲存過程SQL儲存過程
- PostgreSQL獲取建表語句儲存過程SQL儲存過程
- Oracle儲存過程中跳出迴圈的寫法Oracle儲存過程
- mysql 儲存過程MySql儲存過程
- Oracle儲存過程乾貨(二):PLSQL控制語句Oracle儲存過程SQL
- 前端筆記之JavaScript(三)關於條件判斷語句、迴圈語句那點事前端筆記JavaScript
- MySQL之儲存過程MySql儲存過程
- MySQL---------儲存過程MySql儲存過程
- mysql儲存過程整理MySql儲存過程
- 條件語句
- mysql 儲存過程中變數的定義與賦值操作MySql儲存過程變數賦值
- 金倉資料庫KingbaseES儲存過程 RETURN語句資料庫儲存過程
- C語言中迴圈語句while 中判斷條件出現 || 和 && 的區別C語言While
- 分支語句和迴圈語句
- mysql中使用儲存過程生成1億條資料MySql儲存過程
- JavaScript for 迴圈語句JavaScript
- Ruby迴圈語句
- TypeScript 迴圈語句TypeScript
- 造數儲存過程儲存過程
- Mysql 儲存過程的使用MySql儲存過程
- mysql如何呼叫儲存過程MySql儲存過程