存储过程中的Firebird CASE语句

时间:2011-10-01 01:58:40

标签: sql stored-procedures case firebird flow-control

我试图在存储过程中使用case语句,但我得到了“Token unknown”。存储过程不支持case?感谢

2 个答案:

答案 0 :(得分:6)

正如Andrei所写,CASE仅在SELECT陈述中可用。所以使用它的技巧是从一些只有一行的表中选择,如RDB$DATABASE

SELECT
  CASE
    ...
  END
FROM RDB$DATABASE INTO :myVAR;

当然,这只有在你想根据某些条件为变量赋值时才有用,如果你需要一个控制流语句,那么IF / ELSE梯形是唯一的选择。

答案 1 :(得分:2)

您只能在SELECT运算符中使用CASE语句。不允许独立使用。