Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Funkcje a procedury w Oracle

Różnica polega na tym, że funkcja musi zwracać wartość (dowolnego typu) domyślną jej definicję, podczas gdy w przypadku procedury należy użyć parametrów takich jak OUT lub IN OUT parametry, aby uzyskać wyniki. Możesz użyć funkcji w normalnym SQL gdzie ponieważ nie możesz użyć procedury w SQL oświadczenia.

Niektóre różnice między funkcjami i procedurami

  1. Funkcja zawsze zwraca wartość za pomocą instrukcji return, podczas gdy procedura może zwrócić jedną lub więcej wartości przez parametry lub może nie zwracać ich wcale. Chociaż OUT parametry nadal mogą być używane w funkcjach, nie są one zalecane ani nie ma przypadków, w których można by to zrobić. Korzystanie z OUT parametr ogranicza użycie funkcji w instrukcji SQL.

  2. Funkcje mogą być używane w typowych instrukcjach SQL, takich jak SELECT , INSERT , UPDATE , DELETE , MERGE , podczas gdy procedury nie.

  3. Funkcje są zwykle używane do obliczeń, podczas gdy procedury są zwykle używane do wykonywania logiki biznesowej.

  4. Oracle zapewnia możliwość tworzenia „indeksów opartych na funkcjach” w celu poprawy wydajności kolejnych instrukcji SQL. Dotyczy to wykonywania funkcji na indeksowanej kolumnie w klauzuli where zapytania.

Więcej informacji na temat funkcji vs. Procedury tutaj i tutaj.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00918:kolumna niejednoznacznie zdefiniowana w SELECT *

  2. Jak formatować liczby za pomocą znaku minus/plus w Oracle

  3. Odejmowanie dat w Oracle — liczba czy typ danych przedziału?

  4. Wyłącz, a później włącz wszystkie indeksy tabel w Oracle

  5. Oracle SQL Developer 21.4.2 i SQLcl 21.4.1 są już dostępne