Cechy kursora mysql:
Kroki do używania kursora:
Główne kroki używania kursora w MySQL do odczytania każdego rekordu zestawu wyników pokazano poniżej.
Dokonaj kursora:
Deklaruj kursor_name Cursor_name dla select_statement;Zmienna kursora wymaga zdefiniowania iteracji zestawu wyników zwróconych przez instrukcję Select.
Otwórz kursor
Otwórz nazwę cursor_name;Kursor musi otworzyć się, aby wskazać punkt początkowy zestawu wyników.
Pobierz kursor
Fetch Cursor_name do zmiennej_list;Polecenie Fetch służy do odczytania pól zdefiniowanych w zapytaniu, które zostało użyte w momencie deklarowania kursora.
Zamknij kursor
Zamknij nazwę cursor_name;Kursor jest wymagany do zbliżania się do zresetowania zestawu wyników i usunięcia odniesienia do zestawu wyników.
Wymagania wstępne:
Musisz utworzyć niezbędne tabele z danymi, aby poznać użycie kursora w MySQL. Otwórz terminal i uruchom następujące polecenie, aby połączyć się z serwerem MySQL, jeśli nie ma hasła dla użytkownika root.
$ sudo mysql -u rootUruchom następujące polecenie, aby wybrać bazę danych.
Użyj test_db;Uruchom następujące polecenie, aby utworzyć nazwaną bazę danych test_db.
Utwórz bazę danych test_db;Uruchom następujące zapytanie, aby utworzyć tabelę o nazwie Sales_persons z czterema polami.
Utwórz tabelę Sales_persons (Uruchom następujące zapytanie, aby wstawić trzy rekordy do sprzedawca tabela.
Wstaw do „Sales_persons” („ID”, „Nazwa”, „e -mail”, „contact_no”) wartości (null, „Kamal Hasan”, „[email protected] ', „0191275634”),Uruchom następujące zapytanie, aby utworzyć tabelę o nazwie obroty z czterema dziedzinami zawierającymi klucz obce, który stworzy relacje jeden do wielu z Sales_persons stół do obroty tabela.
Utwórz sprzedaż tabeli (Uruchom następujące zapytanie, aby wstawić cztery rekordy do obroty tabela.
Wstaw do „sprzedaży” („id”, „sales_date”, „kwota”, „sp_id”)Korzystanie z kursora MySQL:
Kursor jest używany głównie w procedurze lub funkcji MySQL, która zawiera jedno lub więcej wybierz zapytanie, a zadeklarowany kursor iteruje każdy rekord zestawu wyników zwróconych przez zapytanie. Utwórz nazwaną funkcję MySQL Calculate_bonus z następującym stwierdzeniem, które weźmie argument liczb całkowitych i zwróci wartość zmiennoprzecinkową. Wybierz zapytanie, które zostało użyte w funkcji, będzie obliczyć całkowitą kwotę sprzedaży każdego sprzedawcy i zwróci nazwę sprzedawcy i całkowitą sprzedaż w zestawie wyników. Funkcją kursora jest obliczenie 15% całkowitej sprzedaży jako premii, jeżeli całkowita kwota sprzedaży wynosi ponad 10000; W przeciwnym razie bonus wyniesie 10% całkowitej sprzedaży. Funkcja zwróci kwotę bonusową na podstawie wartości identyfikacyjnej sprzedawcy. Uruchom następującą instrukcję z wiersza MySQL po wybraniu bazy danych, aby utworzyć funkcję.
Delimiter //Uruchom następujące zapytanie, aby przeczytać wszystkie rekordy Sales_persons tabela.
Wybierz * z sales_persons;Uruchom następujące zapytanie, aby przeczytać wszystkie rekordy obroty tabela.
Wybierz * ze sprzedaży;Uruchom następujące zapytanie, aby zadzwonić Calculate_bonus () Funkcja MySQL z wartością argumentu, 1. Według tabeli sprzedaży są trzy rekordy dla sprzedawcy, którego identyfikator wynosi 1. Zatem premia wyniesie 15% zniżki (6700000+900000+800000).
Wybierz Calculate_bonus (1);Uruchom następujące zapytanie, aby zadzwonić Calculate_bonus () Funkcja MySQL z wartością argumentu, 2. Według tabeli sprzedaży nie ma zapisu dla sprzedawcy, którego identyfikator wynosi 2. Więc bonus wyniesie 0.
Wybierz Calculate_bonus (2);Uruchom następujące zapytanie, aby zadzwonić Calculate_bonus () Funkcja MySQL z wartością argumentu, 3. Według tabeli sprzedaży jest jeden rekord dla sprzedawcy, którego identyfikator wynosi 3. Tak więc bonus wyniesie 15% z 5634555.
Wybierz Calculate_bonus (3);Wniosek:
Kursor MySQL ułatwia konkretne zadanie poprzez iterowanie każdego wiersza tabeli. Kursor MySQL został pokazany w tym samouczku za pomocą funkcji MySQL. Kursor MySQL może być również używany w ramach procedury MySQL. Mam nadzieję, że koncepcja kursora MySQL zostanie wyczyszczona dla użytkownika, a użytkownik będzie mógł użyć kursora po przeczytaniu tego samouczka.