Spisie treści
ten Zapisane procedury są bloki kodu SQL które są przechowywane w bazie danych i służą do wykonywania szeregu działań wykraczających poza zapisane zapytania, takich jak: zakładki, żeby je nazwać robimy to z instrukcją POŁĄCZENIE, możemy nawet przekazać parametry do powiedzianego Procedury składowane.Tworzenie procedury składowanej
Aby kontynuować tworzenie Zapisana procedura (SP) musimy początkowo mieć uprawnienia użytkownika UTWÓRZ rutynę Tak ZMIEŃ RUTYNĘ, dla użytkownika, którego będziemy używać do ich tworzenia w Bazie, potrzebne będzie również zezwolenie WYKONAĆ, chociaż jest to automatycznie przypisywane twórcy SP.
Stworzyć SP, pierwszą rzeczą, którą musimy zrobić, to przejść do Pola Zapytań, zwykle do zakończenia instrukcji SQL używamy średnika (
Gdy to zrobimy, wprowadzimy nasz kod w polu zapytania, zobaczmy przykład kodu:
CREATE PROCEDURE `add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGIN IF param_pages> 100 THEN SET param_message = 'liczba stron jest za duża'; ELSE UPDATE książka SET page_count = page_count + param_pages GDZIE isbn = param_isbn; SET param_message = 'sukces'; KONIEC JEŚLI; KONIEC //
Jak widać, nie jest trudno dowiedzieć się, co to robi SP, pierwsza linia jest dość prosta, po prostu definiujemy parametry wejściowe i wyjściowe SP, następnie zaczynamy od ZACZYNAĆ w naszym bloku, umieszczamy warunek IF ELSE, w którym oceniamy każdy z parametrów wejściowych, tak aby przy każdym warunku wykonaliśmy akcję, następnie zamykamy odpowiednie bloki naszego SP za pomocą ENDIF i END i otrzymujemy // co jest nasz niestandardowy ogranicznik.
Testowanie procedury zapisanej
Po zdefiniowaniu zamierzamy przetestować nasze SP, do tego zobaczymy kilka elementów, których nie używaliśmy, najpierw zobaczmy kod, a następnie wyjaśnienie:
wywołaj add_page ('1-234567-22-0', 4, @message);
WYBIERZ @wiadomość;
Zobaczmy, używamy POŁĄCZENIE do wywołania naszego SP, to przekazujemy dwa parametry, które SP Czekałem i w końcu używamy zmiennej MySQL, aby otrzymać odpowiedź, w drugiej linii po prostu sprawdzamy tę zmienną, aby uzyskać jej wartość; Jak widzimy, praca z tym jest dość łatwa.
Manipulowanie procedurą składowaną
ten SP Jest przechowywany w Bazie Danych, jednak nie jest powiązany z żadną konkretną tabelą, więc aby uzyskać do nich dostęp najpierw przechodzimy do widoku bazy danych w phpMyAdmin, na stronie struktury będziemy mieli sekcję o nazwie Rutyny.
Po kliknięciu ikony edycji widzimy, że kod SP, który nam pokazuje, jest czymś innym niż nasz, zobaczmy, co się pojawi:
DROP PROCEDURE `add_page` // CREATE DEFINER =` marc` @ `%` PROCEDURE `add_page` (IN param_isbn VARCHAR (25), IN param_pages INT, OUT param_message VARCHAR (100)) BEGIN IF param_pages> 100 THEN SET param_message = ' liczba stron jest za duża '; ELSE UPDATE książka SET page_count = page_count + param_pages GDZIE isbn = param_isbn; SET param_message = 'sukces'; KONIEC JEŚLI;
ten SP Nie możemy ich zmienić, więc przy próbie edycji pierwszą instrukcją jest DROP SP, w ten sposób eliminujemy go do odtworzenia, w kolejnych liniach generuje również linię, w której podany jest podany użytkownik jest twórcą wspomnianego SP; po wprowadzeniu zmian, klikając Udać się tworzymy nasz zmodyfikowany SP i zapisujemy go w Bazie Danych.
Na tym kończymy samouczek, jak widzimy Zapisane procedury Są bardzo przydatne do przechowywania bloków instrukcji, które możemy wywołać w dowolnym momencie, co daje nam moc podprogramów w Bazie Danych.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt