Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Identichnost` dvuh RecordSet`ov... / 6 сообщений из 6, страница 1 из 1
25.08.2002, 17:51:20
    #32045742
Guest_1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Identichnost` dvuh RecordSet`ov...
Mne nuzhno proverit` rezul`tati dvuh zaprosov na absolutnuyu
identichnost` (ili RecordSet`ov v ADO+VB). T.e. ya delayu
zapros tipa:

SELECT * FROM MyTable WHERE GroupID=1

poluchayu rezul`tat, a cherez 10 minut perezaprashivayu
tot zhe zapros i hochu proverit` identichnost` rezul`tatov dvuh zaprosov.
...
Рейтинг: 0 / 0
25.08.2002, 17:59:27
    #32045744
harrytv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Identichnost` dvuh RecordSet`ov...
Может имеет смысл ввести в таблицу поле timestamp?
При любом изменении записи оно меняет значение -
проверяй на него.
...
Рейтинг: 0 / 0
25.08.2002, 18:07:42
    #32045745
Guest_1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Identichnost` dvuh RecordSet`ov...
Ya imel vvidu chto-to vrode proverki na CRC i t.p.
Proveryat` postrokovo slishkom dolgo - operatziya
kriticheskaya po vremeni - zapisey dlya proverki po ~300
v kazhdom zaprose.
...
Рейтинг: 0 / 0
25.08.2002, 18:33:28
    #32045746
Guest_1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Identichnost` dvuh RecordSet`ov...
Utochnenie:

Nuzhno napist` proceduru (SP), kotoraya vozvraschala bi:

1). Sam po sebe rezul`tat zaprosa (Select...);
2). Kakoe-libo znachenie odnoznachno harakteriziruyuschee
poluchenniy cherez Select rezul`tat (binary - naprimer -
chto-to vrode CRC).

Na osnovanii etogo CRC budet vipolnyat`sya sravnenie na
Client`e.
...
Рейтинг: 0 / 0
25.08.2002, 20:19:46
    #32045747
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Identichnost` dvuh RecordSet`ov...
Разумеется это только идея. Какие временные таблицы использовать, что возвращать пользователю - зависит от конкретной задачи.


Тип timestamp специально и придуман, что бы не возится со всякими CRC

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
set nocount on
create table test (keyID int identity( 1 , 1 ),ID int , r real, t timestamp)
declare @i int
set @i= 1 
 --заполнение тестовых данных
 
while @i<= 10 
begin
insert into test (id,r) values (@i/ 5 ,rand())
set @i=@i+ 1 
end
 /************************************/ 
begin transaction  -- "первый" запрос
 
select * from test where id= 0 
select t into #temp from test where id= 0 
commit transaction
go
update test set r= 0  where  keyID =  1   --кто-то поменял
 
go
 /*Если изменения есть, возвращается измененная строка */ 
begin transaction
select keyID,ID,r from test
where  ID= 0 
and t not in (select t from #temp)

drop table #temp

select t into #temp from test where id= 0 

commit transaction
go

drop table #temp
drop table test
...
Рейтинг: 0 / 0
25.08.2002, 21:22:52
    #32045755
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Identichnost` dvuh RecordSet`ov...
в 2000 скуле тип timestamp заменен на rowversion....
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Identichnost` dvuh RecordSet`ov... / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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