Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ХП
|
|||
|---|---|---|---|
|
#18+
Есть маленький вопрос. Допустим есть простая ХП. create procedure pass.dummy() dynamic result sets 1 begin declare rows_count int; declare c1 cursor with return for select * from db2alex.T_PEOPLE where date_born = '1975-09-05'; open c1; INSERT INTO DB2ALEX.T_MAGAZINE_LOG (DATE_ENTER, USER_ENTER, TEXT, ROWS_COUNT) VALUES (current_TIMESTAMP, SESSION_USER, 'DUMMY1', rows_count); End Как в ней посчитать кол-во строк которое вернет Select. И как управлять курсором. Например поставить его на нужную стоку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 08:45 |
|
||
|
ХП
|
|||
|---|---|---|---|
|
#18+
Для чего вам "поставить на нужную строку" курсор надо? Объясните подробнее, как вы потом хотите использовать курсор, после того как вы его позиционировали его на нужную строку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 09:56 |
|
||
|
ХП
|
|||
|---|---|---|---|
|
#18+
Я не нашел как подсчитать кол-во строк при select. Думал пробежаться по курсору подсчитать количество строк и записать лог. И стал искать как его поставить на первую строку после подсчета. Конечно можно открыть второй курсор и записать там: select count(*) as rows_cownt from db2alex.T_PEOPLE where date_born = '1975-09-05'; Но запрос максимально упрощен для примера, а на самом деле состоит из кучи связанных таблиц. По этому два раза вызывать не хочется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 10:36 |
|
||
|
ХП
|
|||
|---|---|---|---|
|
#18+
Есть 2 варианта: 1. Использовать временную таблицу такой же структуры, как и запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 11:44 |
|
||
|
ХП
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein при компиляции первого варианта DB2 будет ругаться, что не найдена таблица, объявленная в курсоре... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 11:53 |
|
||
|
ХП
|
|||
|---|---|---|---|
|
#18+
TORTMark Barinstein при компиляции первого варианта DB2 будет ругаться, что не найдена таблица, объявленная в курсоре...Будет ругаться, если перед компиляцией в этой же сессии не выполнить декларацию этой таблицы. Но ведь никто не мешает это сделать перед компиляцией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 12:06 |
|
||
|
ХП
|
|||
|---|---|---|---|
|
#18+
Mark Barinstein, надо будет попробовать... Сам чего-то не додумался до этого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 14:47 |
|
||
|
ХП
|
|||
|---|---|---|---|
|
#18+
И все равно... А если временная таблица не with replace? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 14:53 |
|
||
|
ХП
|
|||
|---|---|---|---|
|
#18+
TORTИ все равно... А если временная таблица не with replace?Не важно, как с какими опциями эту таблицу перед компиляцией декларировать. Компилятору нужны только метаданные таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2007, 15:50 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=35014192&tid=1604142]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 364ms |

| 0 / 0 |
