Страница 1 из 1
ROWS_AFFECTED=ROW_COUNT?
Добавлено: 03 июл 2007, 06:20
stix-s
Из Firebird_v1.5.4.ReleaseNotes
FR # 451927
By D. Yemanov
(1.5) New ROWS_AFFECTED system variable in PSQL: return number of rows affected by the
last INSERT/UPDATE/DELETE statement. For any other statement than INSERT/UPDATE/
DELETE, result is always zero.
Parser changes
By D. Yemanov
(1.5) Changed parser.-
1. ROWS_AFFECTED is renamed to ROW_COUNT
2. CONNECTION_ID/TRANSACTION_ID are renamed to CURRENT_
CONNECTION/CURRENT_TRANSACTION
3. Some of the newly introduced tokens are made non-reserved
Firebird_v2.0.1.ReleaseNotes
Context Variable ROW_COUNT Enhanced
D. Yemanov
ROW_COUNT has been enhanced so that it can now return the number of rows returned by a SELECT statement.
For example, it can be used to check whether a singleton SELECT INTO statement has performed an assignment:
..
BEGIN
SELECT COL FROM TAB INTO :VAR;
IF (ROW_COUNT = 0) THEN
EXCEPTION NO_DATA_FOUND;
END
Если я правильно понял, то ROW_COUNT только для select, а как с update быть?

Добавлено: 03 июл 2007, 09:35
dimitr
ты понял неправильно. ROW_COUNT теперь для всего, включая SELECT.
Добавлено: 03 июл 2007, 09:49
stix-s
dimitr писал(а):ты понял неправильно. ROW_COUNT теперь для всего, включая SELECT.
а если у меня в ХП 2 SELECT-а и UPDATE, как определить к какому ROW_COUNT относится?
Добавлено: 03 июл 2007, 09:54
WildSery
stix-s писал(а):а если у меня в ХП 2 SELECT-а и UPDATE, как определить к какому ROW_COUNT относится?
К тому, после которого смотрится

Добавлено: 03 июл 2007, 10:01
stix-s
WildSery писал(а):stix-s писал(а):а если у меня в ХП 2 SELECT-а и UPDATE, как определить к какому ROW_COUNT относится?
К тому, после которого смотрится

тогда очень интересно, что после SELECT-а, который точно возвращает строку ROW_COUNT=0, а после UPDATE - 1 и так 1-чкой, зараза и остается, так что пока пользую локальную переменную
Добавлено: 03 июл 2007, 11:53
WildSery
stix-s писал(а):после SELECT-а, который точно возвращает строку ROW_COUNT=0
Вот тут не верится. Сразу за селектом, или ещё чего успел поделать?
Добавлено: 03 июл 2007, 12:11
stix-s
WildSery писал(а):stix-s писал(а):после SELECT-а, который точно возвращает строку ROW_COUNT=0
Вот тут не верится. Сразу за селектом, или ещё чего успел поделать?
Код: Выделить всё
for select sa.APPL_ID ,cast(sum(sa.TIME_DEACT-sa.TIME_ACT) as int)as interval_work,
sa.DATE_WORK,sa.WIN_USER,sa.COMP_NAME from
STATISTICS_APPL sa
where ..........
do
begin
vrec_id=null;
update appl_hist ..........
if (row_count=0)
then
insert into appl_hist...........
end
Добавлено: 03 июл 2007, 12:26
WildSery
И где тут селект, после которого ROW_COUNT = 0?
Я уже ничего не понимаю, о чём ты.
Добавлено: 03 июл 2007, 12:32
stix-s
WildSery писал(а):И где тут селект, после которого ROW_COUNT = 0?
Я уже ничего не понимаю, о чём ты.
я в IBExperte в отладчике ROW_COUNT смотрю
и после прохода
Код: Выделить всё
select sa.APPL_ID ,cast(sum(sa.TIME_DEACT-sa.TIME_ACT) as int)as interval_work,
sa.DATE_WORK,sa.WIN_USER,sa.COMP_NAME from
STATISTICS_APPL sa
where ..........
до выполнения
ROW_COUNT = 0
Добавлено: 03 июл 2007, 12:40
hvlad
stix-s писал(а):WildSery писал(а):И где тут селект, после которого ROW_COUNT = 0?
Я уже ничего не понимаю, о чём ты.
я в IBExperte в отладчике ROW_COUNT смотрю
Смешной
Добавлено: 03 июл 2007, 12:59
stix-s
hvlad писал(а):
Смешной
Смешно, конечно, когда знаешь, что именно
Добавлено: 03 июл 2007, 13:20
dimitr
отладчик эксперта к серверу никакого отношения не имеет. Вследствие чего часто показывает не то, что должен.
Добавлено: 03 июл 2007, 13:20
kdv
Смешно, конечно, когда знаешь, что именно
отладчик IBExpert, как и другие отладчики процедур и триггеров для IB/FB, делают следующее:
1. парсят код
2. выполняют код по кускам. организуя и циклы самостоятельно, и все остальное
3. переменные при этом используются ЛОКАЛЬНЫЕ для отладчика. Грубо говоря, даже row_count он будет пытаться получить с сервера посредством select row_count from rdb$database.
поэтому попытки просмотра таких переменных через "отладчик" есть бред, возможно пока еще не воспаленного мозга
ты бы хоть параллельно с отладкой на монитор запросов IBE поглядел. Сразу бы понял, чего он делает.
Добавлено: 03 июл 2007, 13:26
stix-s
kdv писал(а):Смешно, конечно, когда знаешь, что именно
отладчик IBExpert, как и другие отладчики процедур и триггеров для IB/FB, делают следующее:
1. парсят код
2. выполняют код по кускам. организуя и циклы самостоятельно, и все остальное
3. переменные при этом используются ЛОКАЛЬНЫЕ для отладчика. Грубо говоря, даже row_count он будет пытаться получить с сервера посредством select row_count from rdb$database.
поэтому попытки просмотра таких переменных через "отладчик" есть бред, возможно пока еще не воспаленного мозга
ты бы хоть параллельно с отладкой на монитор запросов IBE поглядел. Сразу бы понял, чего он делает.
Засада

лана, будм смареть другим путем
я-то как-то привык, шо отладчик - он и есть отладчик
Добавлено: 03 июл 2007, 23:32
kdv
я-то как-то привык, шо отладчик - он и есть отладчик
надо же и догадывалку включать. неужели где-то в доке по ib/fb ты видел слово "отладчик"?
