Pełny przewodnik po procedurach i funkcjach w PL SQL
Opublikowany: 2023-01-30Języki programowania to system do pisania programów komputerowych. Podczas gdy wiele języków programowania jest opartych na tekście, inne mogą być również graficzne. Języki te pomagają programistom komunikować się z komputerem. Structured Query Language (SQL) to jeden z takich języków programowania, który pomaga w przechowywaniu, manipulowaniu i pobieraniu danych przechowywanych w relacyjnej bazie danych. W dzisiejszym przewodniku podzielimy się szczegółami dotyczącymi wykonywania bloków nazw (procedur i funkcji), które są podprogramami dla PL SQL. Jeśli więc szukałeś dokładnego przewodnika po procedurach i funkcjach w PL SQL, trafiłeś na właściwą stronę. W tym dokumencie, oprócz omówienia procedury składowanej PL SQL, dowiesz się również o przykładowej procedurze PL SQL. Nie wspominając już o procedurze wywołania PL SQL, procedurze wyjścia PL SQL i przykładzie funkcji PL SQL, które są równie ważne, aby się ich nauczyć, jeśli jesteś początkującym programistą. Zacznijmy więc od naszego szczegółowego przewodnika po PL SQL.
Zawartość
- Pełny przewodnik po procedurach i funkcjach w PL SQL
- Co to jest PL SQL?
- Co to jest procedura i funkcja w PL SQL?
- Jak utworzyć procedurę składowaną i funkcję w PL SQL?
- Zalety procedury składowanej i funkcji w PL SQL
- Składnia tworzenia procedury składowanej
- Przykład procedury PL SQL
- Składnia tworzenia funkcji w PL SQL
- Przykład funkcji PL SQL
- Co to jest procedura wyjścia PL SQL?
- Różnica między procedurą przechowywaną a funkcją
Pełny przewodnik po procedurach i funkcjach w PL SQL
Tutaj szczegółowo pokazaliśmy procedury i funkcje PL SQL wraz z przykładami.
Co to jest PL SQL?
- PL SQL jest skrótem od rozszerzenia języka proceduralnego do języka SQL .
- PL SQL to język o strukturze blokowej dla programistów, który pomaga im łączyć moc języka SQL z instrukcjami proceduralnymi.
- Jest to rozszerzenie proceduralne firmy Oracle Corporation .
- Ten język proceduralny jest dostępny w bazie danych Oracle , bazie danych w pamięci Times Ten i IBM Db2 .
- W czasie wykonywania zarówno PL/SQL, jak i SQL zapewniają optymalną wydajność, działając w ramach tego samego procesu serwera .
- PL SQL zapewnia efektywne i niezakłócone przetwarzanie instrukcji SQL poprzez zwiększenie przenośności , bezpieczeństwa i odporności bazy danych.
- PL SQL oznacza po prostu instruowanie kompilatora, co ma robić za pomocą SQL i jak to robić w sposób proceduralny .
- PL SQL daje programistom większą kontrolę dzięki zastosowaniu pętli , warunków i koncepcji zorientowanych obiektowo .
Co to jest procedura i funkcja w PL SQL?
- PL SQL ma dwa podprogramy, znane jako procedury i funkcje .
- Zwykle procedura jest używana do wykonania akcji , a funkcja do obliczenia wartości .
- Podprogramy w PL SQL mają część deklaratywną, część wykonywalną i opcjonalną część obsługi wyjątków .
- Te podprogramy mogą być tworzone i zapisywane w bazie danych jako obiekty bazy danych .
- Podprogramy procedur i funkcji w PL SQL zwracają pojedynczą wartość , która jest używana głównie do obliczania i zwracania wartości .
- Te podprogramy są po prostu zbiorem instrukcji PL/SQL i SQL, które mogą wykonać określone zadanie .
Jak utworzyć procedurę składowaną i funkcję w PL SQL?
Gdy zapisywany jest blok kodu dla procedury składowanej lub funkcji PL SQL, są one kompilowane przez silnik Oracle. Po skompilowaniu jest przechowywany jako obiekt bazy danych. Procedura składowana lub blok funkcyjny kodu składa się z trzech części:
- Część deklaratywna : W tej części deklarowane są zmienne, stałe, kursor lub wyjątki, które mają być używane przez procedurę lub funkcję.
- Część wykonywalna : W tej części zapisana jest definicja tworzonej procedury lub funkcji. Ta część składa się również z instrukcji PL/SQL lub SQL przypisujących wartości, manipulujących danymi i kontrolujących wykonanie.
- Część obsługi wyjątków : Ta ostatnia część jest opcjonalna i zapisywane są w niej oczekiwane wyjątki, które mogą pojawić się podczas wykonywania kodu zapisanego w części wykonywalnej.
Zalety procedury składowanej i funkcji w PL SQL
Zanim odkryjemy przykład procedury PL SQL, należy najpierw zapoznać się z zaletami podprogramów proceduralnych i funkcyjnych.
- Zwiększ wydajność bazy danych : silnik Oracle pomaga w automatycznej kompilacji. Ponadto za każdym razem, gdy wykonywana jest procedura lub funkcja wywołania PL SQL, silnik Oracle ładuje skompilowany kod w SGA, System Global Area, co pomaga w szybszym wykonaniu.
- Wielokrotne użycie i brak redundancji : liczba wierszy kodu nie może być zapisywana wielokrotnie, ponieważ ten sam blok kodu dla procedury lub funkcji może być wywoływany dowolną liczbę razy na wielu danych.
- Bezpieczeństwo : Bezpieczeństwo bazy danych jest również utrzymywane przy użyciu procedur składowanych lub funkcji, ponieważ pomaga kontrolować użycie i dostęp do nich poprzez nadawanie uprawnień użytkownikom. Chociaż uprawnienia do edycji lub manipulowania bazą danych nie są przyznawane użytkownikom.
- Integralność : Kolejną zaletą korzystania z procedury lub funkcji składowanej PL SQL jest to, że zapewnia ona integralność, ponieważ są one przechowywane jako obiekty bazy danych przez silnik Oracle.
- Zapisz pamięć: Jedną z wielu zalet procedur lub funkcji składowanych jest to, że współdzielą pamięć, co pomaga w oszczędzaniu pamięci jako pojedynczej kopii procedury lub funkcji, którą może załadować wielu użytkowników, którzy mają uprawnienia do robienia tego samego.
Przeczytaj także: Jak naprawić błąd javascript:void(0).
Składnia tworzenia procedury składowanej
Możesz spojrzeć na poniższą składnię używaną do tworzenia procedury składowanej w Oracle:
UTWÓRZ LUB ZAMIEŃ PROCEDURĘ <nazwa_procedury> (<nazwa_zmiennej>IN/OUT/IN OUT <typ danych>, <nazwa_zmiennej>IN/OUT/IN OUT <typ danych>,...) IS/AS deklaracja zmiennej/stałej; ZACZYNAĆ -- ciało podprogramu PL/SQL; WYJĄTEK -- Blok obsługi wyjątków ; KONIEC <nazwa_procedury>;
W powyższym kodzie:
- Nazwa_procedury reprezentuje nazwę procedury.
- Nazwa_zmiennej reprezentuje nazwę zmiennej używanej w procedurze składowanej.
- Procedura tworzenia lub zastępowania reprezentuje słowo kluczowe używane do określania nazwy procedury, która ma zostać utworzona.
- Begin , Exception i End reprezentuje słowa kluczowe używane do wskazania, że tworzone są różne sekcje procedury.
- IN/OUT/IN OUT reprezentuje tryby parametrów, w których IN odnosi się do trybu TYLKO DO ODCZYTU, który jest używany dla zmiennej, za pośrednictwem której przyjmuje wartość od użytkownika. Jest to domyślny tryb parametru.
- OUT odnosi się do trybu WRITE ONLY , który jest używany dla zmiennej, która zwraca wartość użytkownikowi.
- IN OUT odnosi się do trybu READ i WRITE , który jest używany dla zmiennej, która albo zaakceptuje wartość, albo zwróci wartość użytkownikowi.
- <nazwa_procedury> reprezentuje koniec definicji procedury. Możesz także po prostu użyć END zamiast tego.
Przykład procedury PL SQL
Poniższy kod procedury zawiera prosty przykład, który wyraźnie zademonstruje użycie procedury składowanej do dodania dwóch liczb:
ustaw wyjście serwera na; PROCEDURA TWORZENIA LUB ZAMIANY Suma (gdzie a IN liczba, b liczba IN) TO liczba c; ZACZYNAĆ c := a+b; dbms_output.put_line ('Suma dwóch nos= '|| c); KONIEC Suma;
W przypadku wywołania procedury zostanie wykonany następujący kod:
ustaw wyjście serwera na; OGŁOSIĆ liczba x; liczba y; ZACZYNAĆ x := &x; y := & y; Suma(x,y); KOŃCZYĆ SIĘ; Gdzie: Wprowadź wartość dla x: 10 Wprowadź wartość dla y: 20 Suma dwóch numerów: 30
Pomyślnie utworzono procedurę PL SQL.
Składnia tworzenia funkcji w PL SQL
Teraz, gdy już wiesz, jak tworzyć składnię procedury składowanej i jej przykład, nadszedł czas, aby rzucić nieco światła na tworzenie funkcji w PL/SQL:
UTWÓRZ LUB ZAMIEŃ FUNKCJĘ <nazwa_funkcji> (<nazwa_zmiennej> IN <typ danych>, <nazwa_zmiennej> IN <typ danych>,...) RETURN <typ danych> IS/AS deklaracja zmiennej/stałej; ZACZYNAĆ -- ciało podprogramu PL/SQL; WYJĄTEK -- Blok obsługi wyjątków ; KONIEC <nazwa_funkcji>;
W powyższym kodzie:
- Nazwa_funkcji reprezentuje nazwę funkcji.
- Nazwa_zmiennej reprezentuje nazwę zmiennej używanej w funkcji.
- Funkcja Utwórz lub Zastąp reprezentuje słowo kluczowe używane dla nazwy funkcji, która ma zostać utworzona.
- IN reprezentuje tryb TYLKO DO ODCZYTU , który jest używany dla zmiennej, za pomocą której zaakceptuje wartość od użytkownika. Jest to parametr domyślny.
- Return reprezentuje słowo kluczowe, po którym następuje typ danych określający typ danych wartości, którą funkcja ma zwrócić.
Przeczytaj także: Napraw polecenie nie powiodło się z kodem błędu 1 Informacje o jajku Pythona
Przykład funkcji PL SQL
Poniżej podano przykład funkcji PL SQL, która demonstruje użycie funkcji dodawania dwóch liczb:
ustaw wyjście serwera na; FUNKCJA UTWÓRZ LUB ZAMIEŃ Suma(a liczba IN, b liczba IN) RETURN Liczba IS liczba c; ZACZYNAĆ c := a+b; POWRÓT c; KOŃCZYĆ SIĘ;
W przypadku wywołania funkcji sum zostanie wykonany następujący kod:
ustaw wyjście serwera na; OGŁOSIĆ numer 1; nr2 numer; numer wyniku; ZACZYNAĆ nr1 := &nr1; nr2 := &nr2; wynik := Suma(nr1,nr2); dbms_output.put_line('Suma dwóch nos='||wynik); KOŃCZYĆ SIĘ; Gdzie: Wprowadź wartość dla nr 1: 5 Wprowadź wartość dla nr 2: 5 Suma dwóch numerów: 10
Pomyślnie utworzono procedurę PL SQL.
Przeczytaj następną sekcję, aby dowiedzieć się o procedurze wyjścia PL SQL.
Co to jest procedura wyjścia PL SQL?
Exit pomaga, gdy instrukcja wychodzi z bieżącej iteracji pętli, gdy warunek w jej klauzuli WHEN jest spełniony, i przenosi kontrolę na koniec aktualnie wykonywanej pętli. Instrukcje Exit nie mogą być używane poza pętlami i służą do bezwarunkowego wychodzenia z pętli za pomocą instrukcji Exit i Continue lub warunkowo za pomocą instrukcji Exit When i Continue When.
Różnica między procedurą przechowywaną a funkcją
Teraz, gdy znasz procedury i funkcje w PL SQL, nadszedł wreszcie czas, aby poznać podstawową różnicę między nimi:
- Procedura składowana może, ale nie musi, zwracać wartość do wywołującej części programu, podczas gdy funkcja zwraca wartość do wywołującej części programu.
- Procedura składowana zwraca wartość za pomocą parametru OUT, podczas gdy funkcja zwraca wartość za pomocą RETURN.
- Procedura składowana używa parametru IN, OUT, IN OUT, podczas gdy funkcja używa tylko parametru IN.
- Procedura składowana nie określa typu danych wartości, jeśli ma zostać zwrócona po wywołaniu, podczas gdy funkcja określa typ danych wartości, która ma zostać zwrócona po wywołaniu.
- Procedury składowanej nie można wywołać z bloku funkcyjnego kodu, podczas gdy funkcję można wywołać z bloku procedury kodu.
Zalecana:
- Pamięć RAM DDR4 vs DDR5: która jest lepsza do gier?
- Jakie są rodzaje deski do krojenia chleba?
- Jak analizować tekst
- 4 sposoby dzielenia ciągu znaków przez ograniczniki w SQL
Mamy nadzieję, że nasz dokument dotyczący procedur i funkcji w PL SQL był pomocny i skutecznie odpowiedział na wszystkie Twoje wątpliwości dotyczące PL SQL i ich podprogramów, procedury i funkcji, procedury wyjścia PL SQL i nie tylko. Jeśli pomogliśmy Ci w jakikolwiek sposób lub masz więcej pytań z Twojej strony, zostaw swoje komentarze poniżej, aby nas o tym powiadomić.