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: HTC HD2 Dual Boot - Android 4.0 (Ice Cream Sandwich) and Windows Phone 7.5 (Mango) 2024, Juli
Anonim

Skladištena procedura vs funkcija

Skladištene procedure i funkcije su dvije vrste programskih blokova. Obojica moraju imati prozivka. Ta imena za pozivanje se koriste za njihovo pozivanje unutar drugog programskog bloka kao što su funkcije procedura i paketi ili SQL upiti. Oba ova tipa objekata prihvataju parametre i izvršavaju zadatak iza tih objekata. Ovo je sintaksa (u ORACLE-u) za kreiranje pohranjene procedure, kreirajte ili zamijenite proceduru naziv procedure (parametri)

kao

početak

izjave;

izuzetak

exception_handling

end;

A ovdje je sintaksa za kreiranje funkcije (u ORACLE), kreiraj ili zameni funkciju function_name (parametri)

return return_datatype

kao

početak

izjave;

return return_value/variable;

exception;

exception_handling;

end;

Skladištene procedure

Kao što je gore spomenuto, pohranjene procedure se nazivaju programski blokovi. Oni prihvataju parametre kao korisnički unos i obrađuju u skladu sa logikom iza procedure i daju rezultat (ili izvode određenu radnju). Ovi parametri mogu biti tipa 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 se takođe nazivaju programskim blokovima, koji moraju vratiti vrijednost koristeći RETURN izraz, a prije nego što vrati vrijednost, njegovo tijelo također izvodi neke radnje (prema datoj logici). Funkcije također prihvaćaju parametre za pokretanje. Funkcije se mogu pozvati 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 reda (vraća jedan rezultat za svaki red upita)

Postoje podkategorije funkcija jednog reda.

  • Numerička funkcija (npr.: ABS, SIN, COS)
  • Funkcija karaktera (npr. CONCAT, INITCAP)
  • Funkcija datuma i vremena (npr. LAST_DAY, NEXT_DAY)
  • Funkcije konverzije (npr.: TO_CHAR, TO_DATE)
  • Funkcija prikupljanja (npr. CARDINALITY, SET)
  • Zbirne funkcije (Vraća jedan red, na osnovu grupe redova. Na primjer: 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 koristeći RETURN izraz. Pohranjene procedure ne vraćaju vrijednosti koristeći RETURN izraz. RETURN izraz unutar procedure će vratiti svoju kontrolu pozivajućem programu. OUT parametri se mogu koristiti za vraćanje vrijednosti iz pohranjenih procedura.

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

• RETURN tip podataka mora biti uključen da bi se kreirala funkcija, ali u pohranjenoj proceduri DDL to nije.

Preporučuje se: