ďťż
 
MSSQL - =?iso-8859-2?Q?kolejno=B6=E6?= przetwarzania przy UPDATE ďťż
 
MSSQL - =?iso-8859-2?Q?kolejno=B6=E6?= przetwarzania przy UPDATE
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

MSSQL - =?iso-8859-2?Q?kolejno=B6=E6?= przetwarzania przy UPDATE



Jacek Osiecki - 14-12-2006 16:08
MSSQL - =?iso-8859-2?Q?kolejno=B6=E6?= przetwarzania przy UPDATE
  Witam,

Czy mo?na w MSSQL wp?ywa? na kolejno?? przetwarzania wierszy przy komendzie
UPDATE?

Mam tabel?, w której jedno z pól jest zale?ne od poprzednich, a kluczem jest
id_kasy (int) i data (datetime). Je?li przyjdzie informacja z wcze?niejsz?
dat? ni? ostatnia transakcja dla danej id_kasy, to wstawiam j? tam gdzie to
wynika z pola "data" i nast?pnie musz? przelecie? po wszystkich polach o
id_kasy takim jak podane i data>@podana_data. Z oczywistych wzgl?dów musz?
to robi? we w?a?ciwej kolejno?ci, wed?ug pola data.

Czy jest to mo?liwe, czy te? nie mog? liczy? na proste UPDATE i musz? u?y?
jakich? bardziej z?o?onych konstrukcji?

Pozdrawiam,
--
Jacek Osiecki joshua@ceti.pl GG:3828944
"To nie logika, to polityka"
(c) Kabaret pod Wydrwigroszem 2006





Marcin A. Guzowski - 14-12-2006 16:08

  Jacek Osiecki napisa?(a):
> Witam,
>
> Czy mo?na w MSSQL wp?ywa? na kolejno?? przetwarzania wierszy przy komendzie
> UPDATE?

Od razu uwaga: nie mo?na my?le? o operacji typu UPDATE
w kategoriach uporz?dkowania, kolejno?ci. To klasyczne
dzia?anie na nieuporz?dkowanym zbiorze rekordów i tego
na pewno zmieni? si? nie da.

Okre?lone operacje mog? w pewnym sensie narzuci? kolejno??
przetwarzania wierszy - jednak b?dzie to tylko efekt uboczny
tych?e operacji, a nie zamierzona realizacja w/w celu.

Mo?na wi?c kombinowa? z wymuszaniem u?ycia indeksu czy
sortowaniem w podzapytaniu dostarczaj?cym rekordy do
update itp. Nie mamy jednak ?adnej pewno?ci, ?e którego?
dnia SQL Server nie wykona tych operacji inaczej ni? dzie?
wcze?niej.

> Mam tabel?, w której jedno z pól jest zale?ne od poprzednich, a kluczem jest
> id_kasy (int) i data (datetime). Je?li przyjdzie informacja z wcze?niejsz?
> dat? ni? ostatnia transakcja dla danej id_kasy, to wstawiam j? tam gdzie to
> wynika z pola "data" i nast?pnie musz? przelecie? po wszystkich polach o
> id_kasy takim jak podane i data>@podana_data. Z oczywistych wzgl?dów musz?
> to robi? we w?a?ciwej kolejno?ci, wed?ug pola data.

> Czy jest to mo?liwe, czy te? nie mog? liczy? na proste UPDATE i musz? u?y?
> jakich? bardziej z?o?onych konstrukcji?

Szczerze mówi?c, to nie bardzo wiem jak zamierza?by? si?
odwo?ywa? w logice zapytania do rekordu "poprzedniego".
(je?eli mo?esz, to zademonstruj, to mo?e sporo wyja?ni?)

W ka?dym razie opisane sytuacja to klasyczny scenariusz
u?ycia kursora. A to z kolei oznacza, ?e ca?? funkcjonalno??
przyda?oby si? zaimplementowa? w inny sposób :)

--
Pozdrawiam,
Marcin Guzowski
http://guzowski.info




Jacek Osiecki - 14-12-2006 16:09

  Dnia Fri, 01 Dec 2006 20:08:07 +0000, Marcin A. Guzowski napisa?(a):
> Jacek Osiecki napisa?(a):
>> Czy mo?na w MSSQL wp?ywa? na kolejno?? przetwarzania wierszy przy komendzie
>> UPDATE?

[...]

> Mo?na wi?c kombinowa? z wymuszaniem u?ycia indeksu czy
> sortowaniem w podzapytaniu dostarczaj?cym rekordy do
> update itp. Nie mamy jednak ?adnej pewno?ci, ?e którego?
> dnia SQL Server nie wykona tych operacji inaczej ni? dzie?
> wcze?niej.

No, tak w?a?nie przypuszcza?em :)

>> Czy jest to mo?liwe, czy te? nie mog? liczy? na proste UPDATE i musz? u?y?
>> jakich? bardziej z?o?onych konstrukcji?

> Szczerze mówi?c, to nie bardzo wiem jak zamierza?by? si?
> odwo?ywa? w logice zapytania do rekordu "poprzedniego".
> (je?eli mo?esz, to zademonstruj, to mo?e sporo wyja?ni?)

My?l?, ?e po prostu zrealizuj? to "rze?niczo" - przy u?yciu while,
przetwarzaj?c po kolei wiersze spe?niaj?ce warunek min(data)>@data.

> W ka?dym razie opisane sytuacja to klasyczny scenariusz
> u?ycia kursora. A to z kolei oznacza, ?e ca?? funkcjonalno??
> przyda?oby si? zaimplementowa? w inny sposób :)

Podejrzewam ?e tak, ale co chwila zmienia si? koncepcja tego jak to dra?stwo
ma dzia?a?... Na razie tak jak mówi? - robi? jak rze?nik, a potem si?
zobaczy.

Pozdrawiam,
--
Jacek Osiecki joshua@ceti.pl GG:3828944
"To nie logika, to polityka"
(c) Kabaret pod Wydrwigroszem 2006
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO Czy zna (obsługuje) ktoś program Iso Draw ? MYSQL - kodowanie w ISO-PL strona plus baza w iso do utf-8 Kodowanie: z iso na utf MSSQL Express czy Oracle Express Pobierananie danych z innej bazy danych w MSSQL Migracja MSSQL 2005 CTP na 2005 Express MSSQL , funkcja pobierajaca sama date (bez czasu) w funkcji [mssql] insert do tabeli na podstawie danych z innej tabeli
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ponland.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com