mysql變數賦值就乙個坑。這個坑有兩種填法。
第一種是眾所周知的:set 變數名=值/賦值語句
第二種是:select … into 變數名 …; 或者 select … into 變數名;
第一種,我在網上看很多人說變數名前面要加@符合,但是實際上是不必要的,只有一些特殊情況是必須要@符合,大部分時候不加也不影響儲存過程的使用的。
例如:
set g_grant_ex=
'gamedb.tb_exchange_'
;set
@g_grant_ex
='gamedb.tb_exchange_'
;/*這其實是一樣的效果*/
第二種,這個就更坑了。我之前看別人用的是雲裡霧裡。後來動手試了幾次才發現。。。。。。。蠻好用的~例子如下
列如:
1.
select
count(*
)into g_err from information_schema.
tables t where t.table_schema=
'gamedb'
and t.table_name=concat(
'tb_recharge_'
,g_year);2.
select
count(*
)from information_schema.
tables t where t.table_schema=
'gamedb'
and t.table_name=concat(
'tb_recharge_'
,g_year)
into g_err;
/*這兩個效果也是一樣的*/
mysql儲存過程之迴圈
1.客戶端建立乙個儲存過程,過程名稱為insert corp loop 2.填寫內容 delimiter drop procedure if exists insert corp loop create definer procedure insert corp loop in loop time ...
mysql儲存過程之case語句
儲存程式的 case 語句實現乙個複雜的條件構造。如果 search condition 求值為真,相應的 sql被執行。如果沒有搜尋條件匹配,在 else 子句裡的語句被執行。語法 case case value when when value then statement list when w...
mysql儲存過程之問題總結
1 mysql的引數賦值語句必須是只能夠選出一行,select username,nickname into ausername,anickname from userbase where userid userid limit 1 這樣的語句必須要加上limit 1才行。2 使用select in...