Посоветуйте. Нет ли какой-нибудь конструкции типа CASE

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
SZeman
Сообщения: 39
Зарегистрирован: 20 июл 2005, 12:46

Посоветуйте. Нет ли какой-нибудь конструкции типа CASE

Сообщение SZeman » 15 сен 2005, 09:43

Острой проблемы нет, но есть желание сделать код немного читаемее.
В моих процедурах часто используются
IF( A=1 ) THEN

ELSE
IF( A=2 ) THEN

ELSE
IF ( A=3 ) THEN
ELSE
Ну и так далее.
Цепочка может состоять из 10-20 IF
Быть может, есть какая-то конструкция, которой можно было бы заменить мою елочку.
Мы работаем на IB6. Товарищ KDV будет как всегда в гневе.

Anton Glasunov
Сообщения: 31
Зарегистрирован: 26 окт 2004, 15:18

Сообщение Anton Glasunov » 15 сен 2005, 09:49

Нет такой конструкции в IB6.*. Появилась начиная с IB75. За FB не скажу - не работал.

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 15 сен 2005, 10:11

Anton Glasunov писал(а):Нет такой конструкции в IB6.*. Появилась начиная с IB75. За FB не скажу - не работал.
Нет такого CASE ни в IB7.5, ни в FB.
Есть CASE-expression, но это другая песня.
Вопрошающий хотел аналог case\switch в pascal\c

Anton Glasunov
Сообщения: 31
Зарегистрирован: 26 окт 2004, 15:18

Виноват

Сообщение Anton Glasunov » 15 сен 2005, 13:37

Да, виноват.

первое - по невнимательности.
второе - case в select я ждал, а в процедуре - нет.

SZeman
Сообщения: 39
Зарегистрирован: 20 июл 2005, 12:46

Сообщение SZeman » 15 сен 2005, 19:14

Жалко конечно :(
Спасибо за ответы

Ответить