我目前正在編寫一個使用case語句來確定要運行的查詢的存儲過程。在我的其中一個查詢中是一個case表達式,每次我嘗試保存更改的過程時,都會收到語法錯誤。如果沒有這種情況表達式,該過程將會保存正常,但是一旦添加它就會失敗。我知道表達式本身的語法是準確的,所以我想知道case語句中是否允許使用case表達式。MySQL - 存儲過程 - 在Case語句中使用Case表達式?
實施例:
CASE
WHEN x = 1 THEN
SELECT
5 AS 'Col1',
CASE
WHEN y = 5 THEN 2
ELSE 0
END AS 'Col2'
FROM table
WHERE 1=1
;
WHEN x = 2 THEN
SELECT
*
FROM table2
;
ELSE
SELECT
*
FROM table3
;
END CASE;
任何幫助,將不勝感激。是否有可能在case語句中有一個case表達式?如果是這樣,它的格式是不同的?我怎樣才能使這個工作...?
謝謝!
您可以儘可能多地嵌套case語句,但要認真考慮它,因爲這幾乎是意大利麪條邏輯的定義。 –
無論您想要做什麼,這可能會成爲您系統的惡劣先例 – Drew
我們正在自動執行某個報告。根據過程中的模板饋送,使用不同的查詢選擇。語法有什麼問題嗎?如果允許將表達式放入語句中,爲什麼它會說我有語法錯誤? – WoofDg79