[MySQL]If statement在stored procedure之外使用

有關資料庫的討論, 都可以在這發表哦~~
回覆文章
頭像
tim
文章: 1379
註冊時間: 2008年 11月 26日, 00:49

[MySQL]If statement在stored procedure之外使用

文章 tim »

一般來說, 在 IF-THEN 語法是在 stored procedcure 裡使用, 若是想在一般 query 裡使用, 得稍微調整一下, 例如:

代碼: 選擇全部

set @a = 1;
IF @a < 5 THEN
set @a = 5;
END IF
select @a;
在 stored procedure 外是無法執行的, 會有 #1064 語法錯誤的狀況.

可以調整如下:

代碼: 選擇全部

set @a = 1;
set @a = (select case when @a<5 then 5 else @a end);
select @a;
即可順利執行.

Reference: https://gist.github.com/jeremyjarrell/6083251
In MySQL, IF statements cannot exist outside of stored procedures.
多多留言, 整理文章, 把經驗累積下來.....
回覆文章