要在數據庫中使用存儲過程必須先了解數據庫中如何使用變量和自定義函數,暴力入門開始。
變量
系統變量和用戶自定義變量的區別是用戶自定義變量在查看時使用一個@,而系統變量使用兩個@
-
系統變量
-
介紹:用戶不能定義系統變量,但是可以修改和使用
-
使用:使用select獲取變量的值,但是因為select默認會將所有的字符串當做一個表的字段來查詢,所以如果是變量需要使用@@符號來訪問
查看所有系統內置變量命令:show variables;
查看某個系統變量 命令:select ?@@變量名; ,如select @@version
修改變量(局部修改)命令:set 變量名 = 值 ,如set autocommit = 3;
-
自定義變量
自定義變量語法:set @變量名 = 值; ,如`set @name = ‘saboran’;
查看自定義變量值:select @name;
-
變量作用域
外部定義的變量叫做全局變量,全局變量與js中的全局變量一樣,能夠在函數內部被使用;
局部變量:declare 變量 數據類型
局部變量不能在函數外部訪問。
自定義函數
語法
create function 函數名(參數列表) returns 數據類型 begin // 函數體 // 返回值 end
舉個栗子
delimiter $$ create function avg(first int) returns int begin declare value ; set value = first; return value; end $$
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
mysql存儲過程暴力入門
要在數據庫中使用存儲過程必須先了解數據庫中如何使用變量和自定義函數,暴力入門開始。
變量
系統變量和用戶自定義變量的區別是用戶自定義變量在查看時使用一個@,而系統變量使用兩個@
-
系統變量
-
介紹:用戶不能定義系統變量,但是可以修改和使用
-
使用:使用select獲取變量的值,但是因為select默認會將所有的字符串當做一個表的字段來查詢,所以如果是變量需要使用@@符號來訪問
查看所有系統內置變量命令:show variables;
查看某個系統變量 命令:select ?@@變量名; ,如select @@version
修改變量(局部修改)命令:set 變量名 = 值 ,如set autocommit = 3;
-
自定義變量
自定義變量語法:set @變量名 = 值; ,如`set @name = ‘saboran’;
查看自定義變量值:select @name;
-
變量作用域
外部定義的變量叫做全局變量,全局變量與js中的全局變量一樣,能夠在函數內部被使用;
局部變量:declare 變量 數據類型
局部變量不能在函數外部訪問。
自定義函數
語法
create function 函數名(參數列表) returns 數據類型 begin // 函數體 // 返回值 end
舉個栗子
delimiter $$ create function avg(first int) returns int begin declare value ; set value = first; return value; end $$