Oracle
 sql >> база данни >  >> RDS >> Oracle

Функции срещу процедури в Oracle

Разликата е, че функцията трябва да връща стойност (от всякакъв тип) по подразбиране за нея, докато в случай на процедура трябва да използвате параметри като OUT или IN OUT параметри, за да получите резултатите. Можете да използвате функция в нормален SQL където не можете да използвате процедура в SQL изявления.

Някои разлики между функции и процедури

  1. Функцията винаги връща стойност, използвайки израза return, докато процедурата може да върне една или повече стойности чрез параметри или може да не върне изобщо. Въпреки това, OUT параметрите все още могат да се използват във функции, те не са препоръчителни, нито има случаи, в които може да се наложи да се направи това. Използване на OUT параметър ограничава използването на функция в SQL изявление.

  2. Функциите могат да се използват в типични SQL изрази като SELECT , INSERT , UPDATE , DELETE , MERGE , докато процедурите не могат.

  3. Функциите обикновено се използват за изчисления, докато процедурите обикновено се използват за изпълнение на бизнес логика.

  4. Oracle предоставя предоставянето на създаване на „Функционално базирани индекси“ за подобряване на производителността на последващия SQL израз. Това важи при изпълнение на функцията върху индексирана колона в клауза where на заявка.

Повече информация за функции срещу Процедури тук и тук.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извеждане от експлоатация на агент в EM13c

  2. типовете локални колекции не са разрешени в SQL изрази

  3. Как да извика функция или съхранена процедура на Oracle, използвайки рамка за постоянство на пружината?

  4. Как да генерирате FRD трасиране в Oracle Apps 11i/R12

  5. Вмъкване на множество редове с последователност в Oracle