Razlika između pohranjene procedure i funkcije

Sadržaj:

Razlika između pohranjene procedure i funkcije
Razlika između pohranjene procedure i funkcije

Video: Razlika između pohranjene procedure i funkcije

Video: Razlika između pohranjene procedure i funkcije
Video: What is Centripetal force? 2024, Studeni
Anonim

Pohranjena procedura nasuprot funkciji

Pohranjene procedure i funkcije dvije su vrste programskih blokova. Obojica moraju imati pozivna imena. Ta pozivajuća imena koriste se za njihovo pozivanje unutar drugog programskog bloka poput procedura, funkcija i paketa ili SQL upita. Obje ove vrste objekata prihvaćaju parametre i izvršavaju zadatak iza tih objekata. Ovo je sintaksa (u ORACLE-u) za stvaranje pohranjene procedure, kreiraj ili zamijeni ime procedure procedure (parametri)

kao

početak

izjave;

iznimka

rukovanje_iznimkama

kraj;

Ovdje je sintaksa za stvaranje funkcije (u ORACLE-u), kreiraj ili zamijeni funkciju naziv_funkcije (parametri)

return return_datatype

kao

početak

izjave;

vrati povratnu_vrijednost/varijablu;

iznimka;

handling_exception;

kraj;

Pohranjeni postupci

Kao što je gore spomenuto, pohranjene procedure nazivaju se programskim blokovima. Oni prihvaćaju parametre kao korisnički unos i obrađuju prema logici koja stoji iza procedure i daju rezultat (ili izvode određenu radnju). Ovi parametri mogu biti vrste IN, OUT i INOUT. Deklaracije varijabli, dodjele varijabli, kontrolne izjave, petlje, SQL upiti i drugi pozivi funkcija/procedura/paketa mogu biti unutar tijela procedura.

Funkcije

Funkcije su također imenovani programski blokovi, koji moraju vratiti vrijednost pomoću naredbe RETURN, a prije nego što vrati vrijednost, njihovo tijelo također izvodi neke akcije (prema zadanoj logici). Funkcije također prihvaćaju parametre za pokretanje. Funkcije se mogu pozivati unutar upita. Kada se funkcija pozove unutar SELECT upita, ona se primjenjuje na svaki red skupa rezultata SELECT upita. Postoji nekoliko kategorija ORACLE funkcija. Oni su,

Funkcije jednog retka (vraća jedan rezultat za svaki redak upita)

Postoje podkategorije funkcija jednog retka.

  • Numerička funkcija (npr.: ABS, SIN, COS)
  • Funkcija znakova (npr. CONCAT, INITCAP)
  • Funkcija datuma i vremena (npr. LAST_DAY, NEXT_DAY)
  • Funkcije pretvorbe (npr. TO_CHAR, TO_DATE)
  • Funkcija prikupljanja (npr.: CARDINALITY, SET)
  • Agregatne funkcije (Vraća jedan redak, na temelju grupe redaka. Npr.: AVG, SUM, MAX)
  • Analitičke funkcije
  • Referentne funkcije objekta
  • Funkcije modela
  • Korisnički definirane funkcije

Koja je razlika između funkcije i pohranjene procedure?

• Sve funkcije moraju vratiti vrijednost korištenjem naredbe RETURN. Pohranjene procedure ne vraćaju vrijednosti pomoću izjave RETURN. Izjava RETURN unutar procedure vratit će svoju kontrolu pozivajućem programu. OUT parametri se mogu koristiti za vraćanje vrijednosti iz pohranjenih procedura.

• Funkcije se mogu pozivati unutar upita, ali se pohranjene procedure ne mogu koristiti unutar upita.

• Vrsta podataka RETURN mora biti uključena da bi se stvorila funkcija, ali u pohranjenoj proceduri DDL nije.

Preporučeni: