
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.05.2006, 17:01
|
|||
|---|---|---|---|
|
|||
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 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.05.2006, 10:23
|
|||
|---|---|---|---|
|
|||
MaxDB. Объявление переменной в процедуре, которая возвращает курсор. Разве нельзя? |
|||
|
#18+
Просмоторв 13, ответов 0. Че зырят... хоть бы ответили по делу.. бараны... при чем пробелма то я б не сказл что из рук вон выходящая. Возникает коррелчция у меня и избавимтьяс от нее надо дак ведь ни одна жсволоч ответить не может... то то они умные аш глаза режит,а тут молчат.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.05.2006, 11:25
|
|||
|---|---|---|---|
|
|||
MaxDB. Объявление переменной в процедуре, которая возвращает курсор. Разве нельзя? |
|||
|
#18+
хамло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=User4&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
87ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 717ms |
| total: | 941ms |

| 0 / 0 |
