Tôi đã cố gắng sử dụng câu lệnh case
bên trong một thủ tục được lưu trữ nhưng tôi nhận được "Mã thông báo không xác định" trên đó. case
không được hỗ trợ trong quy trình được lưu trữ? Cảm ơnCâu lệnh Firebird CASE bên trong thủ tục lưu sẵn
5
A
Trả lời
2
Bạn chỉ có thể sử dụng câu lệnh CASE trong toán tử SELECT. Không cho phép sử dụng độc lập.
6
Như Andrei đã viết, CASE
chỉ có sẵn trong câu hỏi SELECT
. Vì vậy, các thủ thuật để sử dụng nó là để lựa chọn từ một số bảng mà chỉ có một dòng, giống như RDB$DATABASE
:
SELECT
CASE
...
END
FROM RDB$DATABASE INTO :myVAR;
Tất nhiên, đây chỉ là hữu ích trong trường hợp bạn muốn gán giá trị cho một biến dựa trên một số điều kiện, nếu bạn cần một câu lệnh điều khiển luồng thì IF/ELSE
bậc thang là lựa chọn duy nhất.