|
|
|
MaxDB. Объявление переменной в процедуре, которая возвращает курсор. Разве нельзя?
|
|||
|---|---|---|---|
|
#18+
Входные данные: ID_PAGE, ID_KEYWORD Задача: получить список реклам для показа, на основе входных данных, учтя все необходимые условия. Сделать проплаты для выбранных реклам. Все это одним запросом. В условии стоит вызов функции проплаты. Она просто вставляет записи в другую таблицу, точней в таблицу статистики и таблицу проплаты Т.е получается что-то вроде: Код: plaintext 1. 2. 3. 4. 5. Проблема в том, при выполнении запроса функция проплаты для каждой рекламы, удовлетворяющей всем условиям, вызывается более одного раза. Т.е получается, что статистка, что проплата для одной рекламы прописывается 2-3 раза. Видимо во время вполнения запроса условия проверяются не единожды для каждой записи. Решил это обойти реализовав все это либо функцией, либо процедурой. Так как у меня в результате может быть более одной записи, мне нужно чтобы возвращался курсор. В MaxDB, как я понял, курсор может возвращать только процедура. Но и тут не все гладко, а именно паходу нельзя объявлять переменые в процедуре, если объявлено что она возращает результат - курсор, по крайне мере что-то подобное вызывает ошибку: Код: plaintext 1. 2. 3. 4. 5. 6. Документация у MAxDB оставляет желать лучшего и опыта у меня мало. Довольно часто не хватает просто примеров для этой БД. Может просто как-то иначе можно объявить переменные? Или какой-то иной выход? А так бы было все просто: объявил бы курсор, выбрал рекламы в него, которые нужно показать, далее FETCH INTO и в цикле сделал проплаты. Если решение очевидно и я ступил, ногами не пинать, ет мой первый более менее сложный проект с точки зрения БД, до этого был мускул и простейшие SELECT/INSERT/UPDATE :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2006, 17:01 |
|
||
|
MaxDB. Объявление переменной в процедуре, которая возвращает курсор. Разве нельзя?
|
|||
|---|---|---|---|
|
#18+
Просмоторв 13, ответов 0. Че зырят... хоть бы ответили по делу.. бараны... при чем пробелма то я б не сказл что из рук вон выходящая. Возникает коррелчция у меня и избавимтьяс от нее надо дак ведь ни одна жсволоч ответить не может... то то они умные аш глаза режит,а тут молчат.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 10:23 |
|
||
|
MaxDB. Объявление переменной в процедуре, которая возвращает курсор. Разве нельзя?
|
|||
|---|---|---|---|
|
#18+
хамло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2006, 11:25 |
|
||
|
|

start [/forum/topic.php?fid=56&msg=33726210&tid=2016405]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 386ms |

| 0 / 0 |
