X


[ Pobierz całość w formacie PDF ]
.Inną metodą ograniczenia liczby wierszy, których dotyczy wyrażenie z komendąUPDATE lub DELETE, jest redukcja tych wierszy, które komenda ta może zmienićw jednym przebiegu.Nie jest to możliwe we wszystkich platformach DBMS (np.umożliwia to SQL Server, a już nie InterBase).W tym celu musimy użyć komendy właściwej dla posiadanego serwera, którasłuży do ograniczania liczby wierszy przetwarzanych przez UPDATE lub DELETE.Komendę tę możemy powtarzać tyle razy, ile potrzeba dla przetworzenia całejtabeli.Poniżej zamieściliśmy przykład w języku Transact-SQL systemu SQLServer.SET ROWCOUNT 50000 /* Limits the UPDATE to 50000 rows at a�' time*/WHILE (EXISTS (SELECT * FROM ORDERS WHERE Amount0))BEGINUPDATE ORDERS SET Amount=0WHERE Amount0/* Keeps the UPDATE from looping infinitely */ Rozdział 23 Sterowanie współbieżnością 667ENDZ uwagi na fakt, iż modyfikowane wiersze ciągle znajdują się w tabeli z każdymobiegiem pętli, musimy znalezć sposób ich usunięcia po przetworzeniu.Jednymz nich może być wykorzystanie klauzuli WHERE komendy UPDATE - tak, żebymodyfikowane wiersze były przez tę klauzulę ignorowane po ich zmodyfikowaniu.Innymi słowy musimy sprawdzać kolumny Amount z użyciem testu 0,ponieważ w komendzie UPDATE polu Amount nadajemy wartość 0.Dzięki temukomenda ta, modyfikując dany wiersz, zaznacza go jako już przetworzony.Zaznaczanie takie zapobiega dwukrotnemu przetworzeniu wiersza.A oto przykład z komendą DELETE:SET ROWCOUNT 50000 /* Limits the DELETE to 50000 rows at a�' time*/WHILE (EXISTS (SELECT * FROM ORDERS WHERE Amount=0))BEGINDELETE FROM ORDERSWHERE Amount=0END [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • czarkowski.pev.pl
  •  

    Drogi użytkowniku!

    W trosce o komfort korzystania z naszego serwisu chcemy dostarczać Ci coraz lepsze usługi. By móc to robić prosimy, abyś wyraził zgodę na dopasowanie treści marketingowych do Twoich zachowań w serwisie. Zgoda ta pozwoli nam częściowo finansować rozwój świadczonych usług.

    Pamiętaj, że dbamy o Twoją prywatność. Nie zwiększamy zakresu naszych uprawnień bez Twojej zgody. Zadbamy również o bezpieczeństwo Twoich danych. Wyrażoną zgodę możesz cofnąć w każdej chwili.

     Tak, zgadzam się na nadanie mi "cookie" i korzystanie z danych przez Administratora Serwisu i jego partnerów w celu dopasowania treści do moich potrzeb. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

     Tak, zgadzam się na przetwarzanie moich danych osobowych przez Administratora Serwisu i jego partnerów w celu personalizowania wyświetlanych mi reklam i dostosowania do mnie prezentowanych treści marketingowych. Przeczytałem(am) Politykę prywatności. Rozumiem ją i akceptuję.

    Wyrażenie powyższych zgód jest dobrowolne i możesz je w dowolnym momencie wycofać poprzez opcję: "Twoje zgody", dostępnej w prawym, dolnym rogu strony lub poprzez usunięcie "cookies" w swojej przeglądarce dla powyżej strony, z tym, że wycofanie zgody nie będzie miało wpływu na zgodność z prawem przetwarzania na podstawie zgody, przed jej wycofaniem.