Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.21;
Скачать: CL | DM;

Вниз

Число измененных записей   Найти похожие ветки 

 
MXA   (2003-04-02 18:43) [0]

подскажите, пожалуйста, как в ХП после
выполнения Update определить число
измененных записей (если это, конечно, возможно)?


 
Smashich ©   (2003-04-02 18:47) [1]

заведи счетчик и при каждом update увелчивай его:)


 
MXA   (2003-04-02 18:58) [2]

2Smashich
медленно :(

многие утилиты показывают в статистике
число измененных записей, или, например,
TSQLDataSe.ExecSQL - через API?


 
Sergey Masloff   (2003-04-02 19:53) [3]

MXA (02.04.03 18:58)
2Smashich
медленно :(

С какого фига это медленно?


 
MXA   (2003-04-02 20:20) [4]

>Sergey Masloff (02.04.03 19:53)
>С какого фига это медленно?
ну может триггер и несколко обращений к
счетчику и не сильно замедлят процесс при
большом числе апдейтов, но ну его нафиг ради
этого менять структуру базы

может это можно сделать как-либо еще?

конкретнее - нужно узнать, что в результате
апдейта небыло изменено ни одной записи


 
Smashich ©   (2003-04-02 20:27) [5]

>>>ну может триггер и несколко обращений к
счетчику и не сильно замедлят процесс при
большом числе апдейтов, но ну его нафиг ради
этого менять структуру базы

CREATE PROCEDURE "UPDATESOME"
(
ID INTEGER
)
RETURNS
(
NUMOFUPDATE INTEGER
)
AS
DECLARE di int;
begin
NUMOFUPDATE=0;
for select * from A where A.id = :id into di
do
begin
UPDATE B SET
B.Field=1
where B.id = (:di);
NUMOFUPDATE=NUMOFUPDATE+1
end
suspend;
end ^


 
MXA   (2003-04-02 21:01) [6]

>Smashich
>NUMOFUPDATE=NUMOFUPDATE+1
я не про то спрашивал :(

>UPDATE B SET B.Field=1 where B.id = (:di);
может проапдейтить 1 запись в таблице B, может
проапдейтить 0 записей, а может 10 - вот это
мне надо узнать :(




 
Иван Шихалев ©   (2003-04-02 22:00) [7]

Ничего подобного, если id - ключ.


 
Rad ©   (2003-04-03 07:58) [8]

А свойство RowsAffected не подойдет?
Правда, вроде как, оно как-то глючило - но вдруг...


 
MXA   (2003-04-03 09:51) [9]

во блин :(
я как-то неточно вопрос задал?
или никто не знает?


 
Johnmen ©   (2003-04-03 10:02) [10]

Такая возможность есть у клиента.
Есть ли такая возможность у сервера - лично мне не известно, но логически размышляя, думается, что нет...


 
MXA   (2003-04-03 11:40) [11]

то есть сервер не знает сколько он только что изменил записей?
непонятно, поделитесь своими рассуждениями, пожалуйста


 
Johnmen ©   (2003-04-03 11:45) [12]

Сам то сервер знает, но не предоставляет механизма (интерфейса), чтобы "другие" узнали. По крайней мере мне такой способ неизвестен...


 
Polevi ©   (2003-04-03 11:51) [13]

в MSSQL есть @@ROWCOUNT, насчет IB не знаю


 
zacho ©   (2003-04-03 12:08) [14]

Можно перед UPDATE сделать SELECT COUNT..
Или если интересует, будет ли изменена хоть одна запись - вместо SELECT COUNT можно использовать EXISTS


 
MXA   (2003-04-03 12:37) [15]

2 Johnmen © (03.04.03 11:45)
>Сам то сервер знает, но не предоставляет механизма (интерфейса), чтобы "другие" узнали. По крайней мере мне такой
>способ неизвестен...
... подумал я и задал вопрос в этом форуме :)

2 zacho ©
именно этого я и хотел избежать!


 
MXA   (2003-04-03 19:19) [16]

up


 
Smashich ©   (2003-04-03 19:56) [17]

может быть в АПИ от IB есть - не знаю


 
panov ©   (2003-04-03 20:07) [18]

Как вариант можно UDF использовать в триггере. накладные расходы будут минимальными.


 
Johnmen ©   (2003-04-03 22:53) [19]

>Smashich © (03.04.03 19:56)
>может быть в АПИ от IB есть - не знаю

Есть конечно. Функция isc_vax_integer.
Но это относится к работе ПРИЛОЖЕНИЙ.


 
MXA   (2003-04-04 09:35) [20]

ок, спасибо



Страницы: 1 вся ветка

Текущий архив: 2003.04.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.024 c
8-67393
dcat
2003-01-20 19:37
2003.04.21
предварительный просмотр качества JPEG перед сохранением


4-67639
NikotiN
2003-02-24 14:27
2003.04.21
как перехватить сообщение на открытие файла


3-67135
Vovik
2003-04-02 15:24
2003.04.21
DXdbgrid


1-67327
d_oleg
2003-04-09 13:04
2003.04.21
ListBox - Item в несколько строк


1-67375
Silver_
2003-04-03 15:19
2003.04.21
Object TreeView