plsql
Procedura PLSQL
Szukaj…
Wprowadzenie
Procedura PLSQL to grupa instrukcji SQL przechowywanych na serwerze do ponownego użycia. Zwiększa wydajność, ponieważ instrukcje SQL nie muszą być rekompilowane za każdym razem, gdy są wykonywane.
Procedury przechowywane są przydatne, gdy wiele aplikacji wymaga tego samego kodu. Posiadanie procedur przechowywanych eliminuje nadmiarowość i wprowadza prostotę do kodu. Gdy wymagany jest transfer danych między klientem a serwerem, procedury mogą w niektórych sytuacjach obniżyć koszty komunikacji.
Składnia
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
< declarations >
BEGIN
< procedure_body >
EXCEPTION -- Exception-handling part begins
<exception handling goes here >
WHEN exception1 THEN
exception1-handling-statements
END procedure_name;
- nazwa-procedury określa nazwę procedury.
- Opcja [LUB WYMIANA] pozwala modyfikować istniejącą procedurę.
- Opcjonalna lista parametrów zawiera nazwę, tryb i typy parametrów. IN oznacza, że wartość zostanie przekazana z zewnątrz, a OUT oznacza, że ten parametr zostanie użyty do zwrócenia wartości poza procedurą. Jeśli nie określono żadnego trybu, zakłada się, że parametr jest w trybie IN.
- W sekcji deklaracji możemy zadeklarować zmienne, które zostaną użyte w części ciała.
- procedura-ciało zawiera część wykonywalną.
- Słowo kluczowe AS jest używane zamiast słowa kluczowego IS do utworzenia autonomicznej procedury.
- sekcja wyjątków zajmie się wyjątkami od procedury. Ta sekcja jest opcjonalna.
Witaj świecie
Poniższa prosta procedura wyświetla tekst „Hello World” w kliencie obsługującym dbms_output
.
CREATE OR REPLACE PROCEDURE helloworld
AS
BEGIN
dbms_output.put_line('Hello World!');
END;
/
Musisz wykonać to po znaku zachęty SQL, aby utworzyć procedurę w bazie danych, lub możesz uruchomić poniższe zapytanie, aby uzyskać ten sam wynik:
SELECT 'Hello World!' from dual;
Parametry wejścia / wyjścia
PL / SQL używa słów kluczowych IN, OUT, IN OUT do zdefiniowania, co może się stać z przekazanym parametrem.
IN określa, że parametr jest tylko do odczytu, a procedura nie może zmienić wartości.
OUT określa, że parametr jest tylko do zapisu, a procedura może przypisać mu wartość, ale nie może odwoływać się do wartości.
IN OUT określa, że parametr jest dostępny do odniesienia i modyfikacji.
PROCEDURE procedureName(x IN INT, strVar IN VARCHAR2, ans OUT VARCHAR2)
...
...
END procedureName;
procedureName(firstvar, secondvar, thirdvar);
Zmienne przekazane w powyższym przykładzie należy wpisać, ponieważ są zdefiniowane w sekcji parametrów procedury.