国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL 聲明變量及存儲過程分析

2024-07-24 13:14:34
字體:
來源:轉載
供稿:網友

聲明變量

設置全局變量

set @a='一個新變量';

在函數和儲存過程中使用的變量declear

declear a int unsigned default 1;

這種變量需要設置變量類型 而且只存在在 begin..end 這段之內

select .. into..  直接將表內內容賦值到指定變量當中

select name,bid into @a,@b from bank limit 1;

要注意一點就是變量名不能和字段名一致

存儲過程

存儲過程將一段通用的操作封裝在一起 這樣再不同平臺都可以公用了

儲存過程沒有返回值,而且不能sql語句調用,只能是call調用,而且不返回結果集,執行就執行了

要注意的是在儲存過程中進行sql語句要用到 ; 這個系統默認結束符 要重新設置成別的,不然在寫過程的一半系統就錯認程序為終止繼而報錯

改變結束命令符為$

delimiter$+回車 或者簡寫成 /d $+回車

顯示所有存儲過程

show procedure status;

刪除指定存儲過程

drop procedure 過程名;

存儲過程演示'

/d $ 1 create procedure yanshi(in arg tinyint)begindeclare age tinyint default 0;set age=arg;if age<20 thenselect '小于20的數';elseif age>20 thenselect '大于20的數';end if;end$//調用過程set @num=12$call yanshi(@num)$call yanshi(21)$

 

判斷輸入到存儲過程中的數字屬于哪個階段

在存儲過程中傳參分 in ,out , inout 三種

in 可以輸出從外部傳入的變量 不會改變傳進變量本來的值

create procedure a(in id int)begin  select id;  set id = 100;end$set @id=1$call a(@id)$ //輸出1 即從外部傳進來的@id 的值select $id$ //輸出1 說明存儲過程中沒有改變傳進的值

out 不能輸出從外部傳進的值  會改變傳進變量本來的值

create procedure b(out id int)begin  select id;  set id = 100;end$set @id=1$call b(@id)$  //輸入nullselect @id$ //輸出100

inout 就是又能輸出傳入變量又能改變傳入變量咯

下面是檢驗你電腦硬件性能的時候了

還記得當年的bank表嗎? 就是他保留住 然后執行以下命令:

create procedure addbank()begin  declare i int default 0;  set i = 5000000;  while i > 0 do  insert into bank (name) values (i);  set i = i - 1;  end while;end$call addbank()$

祝你好運

總結

以上就是本文關于MySQL 聲明變量及存儲過程分析的全部內容,希望對大家有所幫助。有什么問題可以隨時留言,小編會及時回復大家的。感謝朋友們對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 钦州市| 潮安县| 电白县| 保靖县| 金华市| 肇源县| 商都县| 石屏县| 广德县| 仪陇县| 措美县| 开原市| 茶陵县| 阿合奇县| 油尖旺区| 松阳县| 铅山县| 苏州市| 西华县| 洪江市| 北票市| 防城港市| 龙川县| 南京市| 石家庄市| 本溪| 珲春市| 大渡口区| 长武县| 扎赉特旗| 雷州市| 孝昌县| 武鸣县| 文登市| 涡阳县| 扎囊县| 宁德市| 昂仁县| 莱西市| 汤阴县| 富宁县|