Kursor do aktualizacji Oracle do aktualizacji
Podsumowanie: w tym samouczku dowiesz się, jak używać kursora aktualizowalnego Oracle do aktualizowania danych w tabeli.
Wprowadzenie do Oracle Cursor FOR UPDATE
Czasami chcesz zablokować zestaw wierszy, zanim będziesz mógł je zaktualizować w swoim programie. Oracle udostępnia klauzulę FOR UPDATE
instrukcji SELECT
w aktualizowanym kursorze, aby wykonać tego rodzaju mechanizm blokujący.
Oto składnia deklarowania aktualizowalnego kursora:
Nowa składnia to FOR UPDATE
słowa kluczowe.
Po otwarciu kursora Oracle zablokuje wszystkie wiersze wybrane za pomocą instrukcji SELECT ... FOR UPDATE
w tabelach określonych w FROM
klauzula. Te wiersze pozostaną zablokowane do czasu zamknięcia kursora lub zakończenia transakcji za pomocą COMMIT
lub ROLLBACK
.
Pamiętaj, że Oracle blokuje wszystkie wiersze zwrócone przez SELECT ... FOR UPDATE
podczas aktualizacji, dlatego powinieneś mieć klauzulę WHERE
, aby wybrać tylko niezbędne wiersze być zablokowane.
Jeśli masz określoną kolumnę, którą chcesz zaktualizować, możesz ją wymienić w klauzuli FOR UPDATE
w następujący sposób:
W tym przypadku Oracle blokuje tylko wiersze tabeli, której nazwa kolumny jest wymieniona w klauzuli FOR UPDATE OF
.
Pamiętaj, że jeśli użyjesz tylko klauzuli FOR UPDATE
i nie dodasz jednej lub więcej kolumn po słowie kluczowym OF
, Oracle będzie wtedy zablokuj wszystkie wybrane wiersze we wszystkich tabelach wymienionych w klauzuli FROM
.
Przykład Oracle Cursor FOR UPDATE
Weź pod uwagę następujące kwestie przykład.
Jak to działa.
- Najpierw zadeklaruj aktualizowalny kursor, który aktualizuje kredyty klientów, których kredyty są większe niż zero.
- Dalej , zapętlaj wiersze w kursorach.
- Następnie uzyskaj liczbę zamówień dla każdego klienta.
- Następnie przypisz przyrost kredytu na podstawie liczby zamówień.
- Na koniec zaktualizuj kredyt klienta.
W tym samouczku nauczyłeś się, jak używać aktualizowalnego kursora Oracle do aktualizowania danych w tabeli.
- Czy ten samouczek był pomocny?
- Tak Nie