Diferența între proceduri și funcții în programare

Proceduri vs Funcții în Programare

Proceduri și Funcții în programare, permit programatorilor să grupeze instrucțiunile împreună într-un singur bloc și poate fi apelat din diverse locuri din cadrul programului. Codul devine mai ușor de înțeles și mai compact. Prin efectuarea modificărilor într-un singur loc, întregul cod va fi afectat. Cu ajutorul funcțiilor și procedurilor; un cod liniar și lung poate fi împărțit în secțiuni independente. Acestea oferă o mai mare flexibilitate pentru codarea diferitelor limbi de programare și baze de date.

Care sunt funcțiile?

Funcțiile sunt capabile să accepte parametri care sunt, de asemenea, cunoscuți ca argumente. Ei efectuează sarcinile în funcție de aceste argumente sau parametri și valorile de retur ale tipurilor date. Se poate explica mai bine cu ajutorul unui exemplu: O funcție acceptă un șir ca parametru și returnează prima intrare sau înregistrare dintr-o bază de date. Acesta ia în considerare conținutul pentru un anumit câmp care începe cu astfel de caractere.

Sintaxa funcției este următoarea:

CREEAZĂ SAU ÎNLOCAȚI FUNCȚIA my_func

(p_name IN VARCHAR2: = 'Jack') returnează varchar2 ca începe ... sfârșit

?

Procedurile pot accepta parametrii sau argumentele și efectuează sarcini conform acestor parametri. Dacă o procedură acceptă un șir ca parametru și emite o listă cu înregistrări în baza de date pentru care conținutul unui anumit câmp începe cu astfel de caractere.

Sintaxa procedurilor este următoarea:

CREATE SAU REPLACE PROCEDURE my_proc

(p_name IN VARCHAR2: = 'Jack') ca început ... sfârșit

În principal, există două moduri prin care un parametru este trecut în funcții și proceduri; prin valoare sau prin referință. Dacă parametrul este trecut de o valoare; modificarea este afectată în cadrul funcției sau procedurii fără a afecta valoarea reală a acesteia.

Pe de altă parte, dacă parametrii sunt transmiși prin referințe; valoarea reală a acestui parametru va fi modificată oriunde este apelată în cadrul codului conform instrucțiunilor.

Diferența între proceduri și funcții

• Când parametrul este trecut în procedură; aceasta nu returnează nici o valoare în timp ce o funcție întoarce întotdeauna o valoare.

• Una dintre diferențele majore în ambele este că procedurile nu sunt utilizate în bazele de date, în timp ce funcțiile joacă un rol important în returnarea valorilor dintr-o bază de date.

• Procedurile sunt capabile să returneze mai multe valori, iar funcțiile sunt capabile să returneze valori limitate.

• operațiile DML pot fi utilizate în procedurile stocate; totuși ele nu sunt posibile în funcții.

• Funcțiile pot returna o singură valoare și este obligatorie, în timp ce procedurile pot întoarce valori n sau zero.

• În funcții, manipularea erorilor nu poate fi efectuată, în timp ce poate fi efectuată în proceduri stocate.

• Parametrii de intrare și ieșire pot fi trecuți în proceduri, în timp ce în cazul funcțiilor; se pot transmite numai parametrii de intrare.

• Funcțiile pot fi apelate din proceduri, în timp ce nu este posibilă apelarea unei proceduri dintr-o funcție.

• Gestionarea tranzacțiilor poate fi luată în considerare în proceduri și nu poate fi luată în considerare în cazul funcțiilor.