![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача строки кода в качестве параметра для ХП [firebird 2.0]
Megabyte © (2007-06-06 15:25:00)Есть куча однотипных процедур(24), все с одинаковыми параметрами. Сами процедуры размером где-то по 80 строк, а отличаются между собой в строки 2-3.
Есть ли какая-то возможность передавать строку кода в ХП для динамического формирования полной ХП?
Можно, конечно, на лету создавать ХП, запускать и удалять, но хотелось бы иметь готовый шаблон на сервере.
Есть ли такая возможность?
Megabyte (2007-06-07 12:25:00) [1]Все буду делать во второй версии. Сейчас просто нужен рабочий вариант :)
ЮЮ, можно там ХП вызвать другие, я так и делаю.
stud (2007-06-07 10:24:00) [2]может есть смысл проанализировать эти отличия и чтонибудь получится более простое?
Sergey13 (2007-06-07 09:01:00) [3]> [6] Megabyte © (07.06.07 08:32)
> ХП потеряют наглядность. :)
Коментарии легко исправляют этот недостаток. 8-)
ИМХО, лучше 1 сложная (по читаемости) процедура, чем 24 почти одинаковых.
ЮЮ (2007-06-07 08:44:00) [4]> Есть куча однотипных процедур(24), все с одинаковыми параметрами.
> Сами процедуры размером где-то по 80 строк, а отличаются
> между собой в строки 2-3.
> Есть ли какая-то возможность передавать строку кода в ХП
> для динамического формирования полной ХП?
> Можно, конечно, на лету создавать ХП, запускать и удалять,
> но хотелось бы иметь готовый шаблон на сервере.
> Есть ли такая возможность?
А как бы ты поступил, столкнись с такой ситуацией в Delphi? Чем язык, на котором написаны ХП, принципиально отличается от других языков высокого уровня? Или в FB нельзя из ХП вызвать другую ХП с параметрами, котрые и разрулят а отличаются между собой в строки 2-3.
?
Megabyte (2007-06-07 08:32:00) [5]
> Sergey13 © (06.06.07 17:02) [5]
> [4] Megabyte © (06.06.07 16:59)
Или просто ветвление в самой процедуре сделать. 24 IF-а. Еще проще.
Да у меня там итак уже есть в каждой ветвление на 2 варианта. Боюсь, если 24 IF туда поставлю, ХП потеряют наглядность. :)
Sergey13 (2007-06-06 17:02:00) [6]> [4] Megabyte © (06.06.07 16:59)
Или просто ветвление в самой процедуре сделать. 24 IF-а. Еще проще.
Megabyte (2007-06-06 16:59:00) [7]Хм. Возможно и так. :) Пока сделаю полностьб рабочий вариант программы, после переделаю
Sergey13 (2007-06-06 16:14:00) [8]> [0] Megabyte © (06.06.07 15:25)
А не правильнее будет сделать 24 вложенные процедуры и вызывать их из 1, в которой 80 строк, по критерию-параметру?
Megabyte (2007-06-06 16:09:00) [9]Спасибо. Будем изучать.
Desdechado (2007-06-06 16:04:00) [10]EXECUTE STATEMENT
EXECUTE BLOCK