sql >> Databáze >  >> RDS >> Oracle

Úvod do funkcí PL/SQL v databázi Oracle

Pro každého, kdo někdy studoval programovací jazyky jako C, C++ nebo Java, není koncept funkcí nový. Funkce nejsou nic jiného než skupina spustitelných příkazů. Pomocí funkcí se můžete ušetřit opakovaného přepisování stejné programovací logiky. Jak tedy můžeme definovat funkci v Oracle PL/SQL?

Co jsou funkce PL/SQL v databázi Oracle?

V databázi Oracle můžeme definovat funkci PL/SQL jako samostatný podprogram, který je určen k provádění konkrétního dobře definovaného úkolu. Funkce se nazývají PL/SQL blok, což znamená, že mohou být uloženy do databáze jako databázový objekt a mohou být znovu použity. To je také důvod, proč některé knihy označují funkce PL/SQL jako uložené funkce.

Typy funkcí PL/SQL v databázi Oracle

V databázi Oracle jsou dva typy funkcí PL/SQL, tyto jsou

  1. Funkce pass-by-value a
  2. Funkce Pass-by-Reference

V databázi Oracle by oba typy funkcí měly vracet nějaké hodnoty a tyto hodnoty by měly být platným datovým typem SQL nebo PL/SQL.

Syntaxe funkcí PL/SQL v databázi Oracle

CREATE [OR REPLACE] FUNCTION function_name
(Parameter 1, Parameter 2…)
RETURN datatype
IS
	Declare variable, constant etc.  
BEGIN
	Executable Statements
	Return (Return Value);
END;

O syntaxi funkce PL/SQL jsem diskutoval řádek po řádku ve výukovém videu na mém kanálu YouTube na stejné téma. Navrhuji, abyste se na tento návod jednou šli podívat.

Způsob provedení funkce

V závislosti na vaší kreativitě a programovacích schopnostech lze funkci PL/SQL volat několika způsoby. Zde jsou některé obecné způsoby volání funkce PL/SQL v databázi Oracle

  1. Můžete použít nástroj SQL*Plus databáze Oracle k vyvolání funkce PL/SQL, kterou lze volat z PL/SQL jako procedurální příkaz.
  2. Anonymní blok PL/SQL lze také použít k volání funkce.
  3. Funkci můžete dokonce volat přímo do příkazu SELECT nebo DML.

Zůstaňte naladěni, každou z těchto metod provádění funkcí PL/SQL probereme v příštím tutoriálu.

Omezení volání funkce

  1. Funkci, která vrací datový typ SQL, lze použít uvnitř příkazu SQL a funkce PL/SQL, která vrací datový typ PL/SQL, funguje pouze uvnitř bloků PL/SQL. Výjimkou z tohoto pravidla je, že nemůžete volat funkci, která obsahuje operaci DML uvnitř dotazu SQL. Můžete však volat funkci, která provádí operaci DML uvnitř INSERT, UPDATE a DELETE.
  2. Funkce volaná z příkazu UPDATE nebo DELETE v tabulce nemůže dotazovat (SELECT) ani provádět transakce (DML) ve stejné tabulce.
  3. Funkce volaná z výrazů SQL nemůže obsahovat příkaz TCL (COMMIT nebo ROLLBACK) ani příkaz DDL (CREATE nebo ALTER).

To je vše pro tento výukový program Úvod do funkcí PL/SQL v databázi Oracle. Nezapomeňte se podívat na další tutoriál, kde na velmi jednoduchém příkladu demonstruji vytvoření funkce PL/SQL.

Nezapomeňte také sdílet tento blog na svých sociálních sítích, protože každý měsíc rozdávám zboží RebellionRider jednomu z náhodně vybraných výherců. Pro další aktualizace mě sledujte na mém Facebooku a Twitteru.

Děkuji za přečtení a přeji hezký den!


  1. Jaký je limit SQL proměnných, které lze zadat v jediném execSQL dotazu

  2. Načtěte data CSV do MySQL v Pythonu

  3. Jak používat obrázky v Android SQLite, které jsou větší než omezení CursorWindow?

  4. 8 Nové funkce kompatibility Oracle v EnterpriseDB PPAS 9.2 Beta