事件 + 儲存過程 (基礎)
阿新 • • 發佈:2018-11-05
一、事件(可以執行定時任務)
1、create even if not exists Event_Stat_Daily
even 【start/end 時間戳】 表示完成重複任務,時間單位可以是year,month,day,hour,minute,second
3、on completion [not] preserve 表示事件執行完任務不會被儲存
儲存過程: do call P_INS_UP_USER_LINE()$$
CREATE TABLE test1;//建立表(需要測試一下)
二、儲存過程
儲存過程就是將若干條sql語句封裝起來,編譯好放在mysql伺服器中,需要時呼叫即可;
Declear 用來定義引數;
set 用來設定變數的值;
if then ... else...end if 用於判斷 ;
while...do...end while 用於迴圈 ;
建立儲存過程
案例1
Create procedure newTest(in name char(100))
begin
DECLARE age INT DEFAULT 16;
DECLARE height INT DEFAULT 170;
DECLARE weight INT DEFAULT 16;
set age:=age+10;
set weight:=weight*10;
SELECT name ;
if age>18 then
select '已成年';
else
select '未成年';
end if;
SELECT CONCAT('年齡',age);
SELECT concat('身高',height,'cm');
SELECT CONCAT('體重',weight,'公斤');
End;
案例2
Create procedure newTest()
begin
declare i int default 0;
declare sum1 int default 0;
while i<=10 do
set sum1:=i+sum1;
set i:=i+1;
end while;
select concat('1~10的和為',sum1);
end;
案例3
Create procedure newTest()
begin
DECLARE ave INT DEFAULT 10;
SET ave:=10/5;
CASE ave
WHEN 1 THEN SELECT '學神';
WHEN 2 THEN SELECT '學霸';
WHEN 3 THEN SELECT '學奴';
ELSE SELECT '學渣';
END CASE;
end;
執行儲存過程