mysql查詢 默認賦值,mysql怎么定義變量?
??MySQL存儲過程中,定義變量有兩種方式:
? 1、使用set或select直接賦值,變量名以@開頭,可以在一個會話(即連接)的任何地方聲明,作用域是整個會話,稱為用戶變量。例如:set @var=1;
? 2、 以declare關鍵字聲明的變量,只能在存儲過程中使用,稱為存儲過程變量,主要用在存儲過程中,或者是給存儲傳參數中。例如: declare var1 int default 0;
兩者的區別是:
? ? 在調用存儲過程時,以declare聲明的變量都會被初始化為null。而會話變量(即@開頭的變量)則不會被再初始化,在一個會話(連接)內,只須初始化一次,之后在會話內都是對上一次計算的結果,就相當于在是這個會話內的全局變量。