Próbowałem użyć instrukcji case
w procedurze przechowywanej, ale mam na niej "Token unknown". case
nie jest obsługiwany w procedurze przechowywanej? DziękiInstrukcja Firebird CASE wewnątrz przechowywanej procedury
5
A
Odpowiedz
2
Możesz używać instrukcji CASE tylko w obrębie operatora SELECT. Samodzielne użycie jest niedozwolone.
6
Jak napisał Andrei, CASE
jest dostępna tylko w instrukcjach SELECT
. Więc trik z niego korzystać, to wybrać z jakiejś tabeli, która ma tylko jeden wiersz, jak RDB$DATABASE
:
SELECT
CASE
...
END
FROM RDB$DATABASE INTO :myVAR;
oczywiście to tylko użyteczne w przypadku, gdy chcesz przypisać wartość do zmiennej opiera się na pewnych warunkach jeśli potrzebujesz instrukcji sterowania przepływem, jedyną opcją jest drabina IF/ELSE
.