Warunkowe procedury składowane MySQL IF - PRZYPADEK

Spisie treści
IF warunkowe procedury składowane
Stworzymy bazę danych i tabelę z komentarzami użytkowników, mogą to być artykuły, posty lub cokolwiek zechcemy.
UTWÓRZ TABELĘ `komentarze` (
`commentid` int (11) DEFAULT NULL,
`data` data DEFAULT NULL,
`userid` int (50) DEFAULT NULL,
tekst „komentarz”,
KLUCZ GŁÓWNY („identyfikator wystąpienia”)
) ENGINE = MyISAM DEFAULT CHARSET = latin1;
Zamierzamy utworzyć procedurę składowaną, która zlicza liczbę komentarzy pozostawionych przez użytkownika i zwraca poziom, na którym znajduje się ten użytkownik, przyjmując jako odniesienie dla przykładu.
Ekspert jeśli masz więcej niż 5000 komentarzy
Zaawansowany jeśli skomentowałeś od 4999 do 1000 razy
Moderator jeśli skomentowałeś od 999 do 500 razy
Redaktor jeśli skomentowałeś od 499 do 100 razy
Tworzymy procedurę składowaną i będzie ona miała dwa parametry, z których jeden będzie wprowadzał identyfikator lub numer użytkownika, którego zmienną jest p_usuario, a drugi wynik, który będzie poziomem ze zmienną p_level.

Wyjaśniamy procedurę składowaną, którą ją nazywamy, zakładamy userid = 112
CALL poziom użytkownika (112)
Wybiera i zlicza liczbę komentarzy dla tego użytkownika i przechowuje je w zmiennej total, następnie struktura if przypisze poziom do zmiennej p_level i zwróci wartość.
<? // Przygotowujemy zapytanie z php
$ wynik = $ mysqli-> zapytanie ("CALL userlevel (112)");
$ wiersz = $ wynik-> fetch_assoc ();
echo 'Poziom:' $ wiersz ['p_poziom']; ?> zm13 ->

Warunkowe procedury składowane CASE
Operacja jest bardzo podobna do poprzedniej, z tą różnicą, że warunkiem warunkowym jest CASE i w tym przykładzie otrzymujemy koszt wysyłki lub dopłatę w zależności od lokalizacji klienta.

Przyjmiemy cityid = 2 i wywołamy procedurę składowaną p
Koszt wysyłki ZADZWOŃ (2)
<? // Przygotowujemy zapytanie z php
$ wynik = $ mysqli-> zapytanie ("Koszt wysyłki POŁĄCZENIE (2)");
$ wiersz = $ wynik-> fetch_assoc ();
echo 'Dopłata za wysyłkę' $ wiersz ['p_recargo']; ?> zm13 ->

Również w ramach możliwości oferowanych przez struktury warunkowe możemy użyć struktur if lub case do wykonania kilku akcji za pomocą jednej procedury składowanej
Stworzymy np. procedurę składowaną do zarządzania produktami, do której wysyłając parametr możemy następnie określić jaką akcję lub zadanie wykonamy.

Widzimy, że w procedurze produktów mamy parametr o nazwie p_accion, więc przypisujemy czy akcją będzie zapisanie nowego produktu czy modyfikacja go w bazie danych
Przykład wstawiania nowego produktu
<? // Przygotowujemy zapytanie z php
$ wynik = $ mysqli-> zapytanie („CALL products (10, 'Mobile Phone', '100,00', 'new')");
echo 'Produkt został zarejestrowany'; ?> zm13 ->

Przykład wstawienia edycji lub modyfikacji produktu
<? // Przygotowujemy zapytanie z php
$ wynik = $ mysqli-> zapytanie („CALL products (10, 'MXC3 mobile phone', '120,00', 'edit')");
echo 'Produkt został zmodyfikowany'; ?> zm13 ->

Metoda ta jest bardzo przydatna do grupowania zadań znanych jako CRUD, czyli tworzenia, odczytywania, edytowania i usuwania danych oraz wykonywania aktualizacji i wyszukiwania, wszystko uporządkowane w tym samym pliku, ułatwiając tym samym utrzymanie i możliwość skalowania bazy danych w razie potrzeby.
Ponadto pozwala z punktu widzenia analizy funkcjonalnej na bardziej przejrzyste określenie reguł biznesowych aplikacji.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave