|
|
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
hi all Есть у мну ХП ("sp_customer_reserve"), которая делает что-то там важное (создает резерв под клиента и, ес-сно, меняет регистровые остатки). Она возвращает записи из документа + новые значения остатков. Можно, конечно, и ничего не возвращать, но тогда геморно анализировать итог: дополнительно приходится делать 5-6 селектов. Эта ХП будет вызываться: 1) самостоятельно; 2) из другой ХП ("sp_add_invoice_to_stock"), в for_select-цикле по документам - клиентским заказам. Ну так вот, во втором случае мне совершенно не нужны данные, которые возвращает эта sp_customer_reserve. То есть, напрашивается Код: sql 1. - но так сделать нельзя: будет облом Код: plaintext 1. 2. 3. 4. 5. Пока что извращаюсь так: Код: sql 1. - где v_dummy - болванка просто для поддержания синтаксиса. Какое-то поизящнее есть решение ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 20:48:53 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, передать признак в процедуру, и по нему либо suspend либо нет (насколько изящно не знаю) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 21:52:19 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
m7mпередать признак в процедуру, и по нему либо suspend либо нет (насколько изящно не знаю)Не взлетит. Компилятор как только видит список возвращаемых параметров, так и обламывает: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 21:59:59 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, А как бы ты сделал в обычном языке программирования? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 22:01:29 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, модифицировать в селективных процедурах данные - дурной тон. Лучше наоборот сделать её всегда не селективной, а для анализа писать в GTT и потом запрос из GTT делать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 22:01:55 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидНе взлетит. Компилятор как только видит список возвращаемых параметров, так и обламывает Ну таки да, так не взлетит. Я чего-то решил что тебе только count(*) не нравится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 22:10:37 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисмодифицировать в селективных процедурах данные - дурной тон. Лучше наоборот сделать её всегда не селективной, а для анализа писать в GTT и потом запрос из GTT делатья знаю, что так делать плохо. Но задолбало ваять сначала вызов ХП, а затем еще и в GTT лазить: ИБЭ не умеет за один тычок по F9 делать два и более вызовов в SQL Editor'e. ЗЫ. isql хотя и умеет, но я тогда до пенсии тест этот ваять буду... :-) ЗЗЫ. Решил пока просто, по-деревенски: процедуры, основное назначение которых есть изменение данных, будут иметь префикс "sp_", а всякие " отчетные " - "rp_". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 22:13:44 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
NickDeeА как бы ты сделал в обычном языке программирования?я не программист (читай Рустама :)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 22:15:16 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
Таблоидя знаю, что так делать плохо. Но задолбало ваять сначала вызов ХП, а затем еще и в GTT лазить: ИБЭ не умеет за один тычок по F9 делать два и более вызовов в SQL Editor'e. может, если ты засунешь оба вызова в excecute block ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 22:17:17 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
Симонов Денисможет, если ты засунешь оба вызова в excecute blockво-первых, это еще больше долбёжки; во-вторых, возвращаемые параметры сейчас интенсивно меняются: то чего-то не хватает, то наоборот, выкинуть надо. Значит, и EB надо будет менять каждый раз (returns-кляузу). Не айс... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 22:19:33 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
ТаблоидПока что извращаюсь так: Код: sql 1. - где v_dummy - болванка просто для поддержания синтаксиса. Какое-то поизящнее есть решение ? Самое простое: создать процедуру с одним параметром v_client_order, без выходных параметров. В тело вписать код выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2014, 23:08:13 |
|
||
|
Как "поизящнее" вызвать селективную ХП, если возвращаемые ею кортежи НЕ нужны ?
|
|||
|---|---|---|---|
|
#18+
Таблоид> Какое-то поизящнее есть решение ? Технически - никак, это запрещено синтаксисом и задокументировано. Архитектурно - всегда вытаскивать поле статуса, а остальное опционально. Насчёт технически - не знаю, соответствует ли текущее ограничение стандарту, если нет - в трекер. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.04.2014, 06:01:01 |
|
||
|
|

start [/forum/topic.php?fid=40&fpage=99&tid=1563749]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
228ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 232ms |
| total: | 558ms |

| 0 / 0 |
