我目前正在编写一个使用 case 语句来确定要运行哪些查询的存储过程。在我的一个查询中是一个 case 表达式,每次尝试保存更改后的过程时都会出现语法错误。如果没有那个 case 表达式,该过程将很好地保存,但一旦添加它就会失败。我知道表达式本身的语法是准确的,所以我想知道在 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 表达式?如果是这样,它的格式是否不同?我怎样才能让它工作......?
谢谢!