Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Количество обработанных строк / 12 сообщений из 12, страница 1 из 1
07.05.2007, 14:55
    #34509806
elcolex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
есть update, нужно сразу после его выполнения определить сколько строк было обновлено. Как это сделать в DB2?

в mssql есть встроенная функция @@ROWCOUNT, а в DB2?
...
Рейтинг: 0 / 0
07.05.2007, 15:24
    #34509925
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
Если вы про SQL процедуры, то:
Код: plaintext
1.
2.
3.
4.
5.
...
DECLARE var INT;
...
UPDATE ...;
GET DIAGNOSTICS var = ROW_COUNT;
...
...
Рейтинг: 0 / 0
07.05.2007, 15:29
    #34509949
elcolex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
спасибо!..

а это будет работать на всех платформах? Например, на AS400?
...
Рейтинг: 0 / 0
07.05.2007, 15:34
    #34509979
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
elcolexа это будет работать на всех платформах? Например, на AS400?За все не скажу, а на as400 - будет.
...
Рейтинг: 0 / 0
07.05.2007, 16:51
    #34510276
elcolex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
супер!

а эта штука работает быстро?

тут почему вообще возник вопрос. У нас в процедуре данные либо вставляются либо обновляются.. т.е. примерно такой код:

if ( exists ( select id from t where id = @id ) )
update t set x = @x where id = @id ;
else
begin
set @id = get_new_id () ;
insert into t ( id , x ) values ( @id , @x ) ;
end

для оптимизации ( вставок больше апдейтов ) есть предложение писать так:

update t set x = @x where id = @id ;
-- здесь определяем количество обработанных строк...
-- ...
if ( 0 = @rows_affected )
begin
set @id = get_new_id () ;
insert into t ( id , x ) values ( @id , @x ) ;
end

при обновлении будем получать преимущество ( отсутствует exists вовсе )...

я просто не знаю насколько такой подход приемлем для db2? Для mssql "прокатывает"..

что скажете?
...
Рейтинг: 0 / 0
07.05.2007, 17:02
    #34510326
Alexey Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
Посмотри синтаксис MERGE INTO...
...
Рейтинг: 0 / 0
07.05.2007, 17:08
    #34510365
elcolex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
ого, звучит не плохо!
похоже такая фича подойдет...

и сорри за "не умный" вопрос еще раз:
"а это будет работать на всех платформах? Например, на AS400?"
:)

зы
вообще, если не трудно, "ткныте" туда где можно узнать какие инструкции выполняются на каких платформах?

спасибо!
...
Рейтинг: 0 / 0
07.05.2007, 17:19
    #34510430
mitek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
SQL Reference for Cross-Platform Development
...
Рейтинг: 0 / 0
07.05.2007, 17:24
    #34510466
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
elcolexа эта штука работает быстро?Да.
elcolexдля оптимизации ( вставок больше апдейтов ) есть предложение писать так: ...Т.к. на as400 нет MERGE, то это - вполне нормальный подход.

У вас какая версия iSeries?
...
Рейтинг: 0 / 0
07.05.2007, 18:23
    #34510694
elcolex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
Mark Barinstein elcolexа эта штука работает быстро?Да.
elcolexдля оптимизации ( вставок больше апдейтов ) есть предложение писать так: ...Т.к. на as400 нет MERGE, то это - вполне нормальный подход.

У вас какая версия iSeries?
5-я

ух ты а с merge "облом" :(
ну раз количество строк быстро определяется, то сойдет..
...
Рейтинг: 0 / 0
07.05.2007, 18:30
    #34510716
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
elcolex5-яА релиз?
V5R N
N - какая цифирка?
...
Рейтинг: 0 / 0
07.05.2007, 18:50
    #34510775
elcolex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Количество обработанных строк
Mark Barinstein elcolex5-яА релиз?
V5R N
N - какая цифирка?

вот тут сказать не могу... начиная с пятой, возможны различные конфигурации..

2mitek
спасибо за ссылку...
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Количество обработанных строк / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]