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

Proceduri vs Funcții în programare

Procedurile și funcțiile în programare permit programatorilor să grupeze instrucțiunile î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 după cum urmează:

CREAȚI SAU REPLACE FUNCTION my_func

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

Ce sunt procedurile??

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:

CREAȚI SAU REPLACE PROCEDURA my_proc

(p_name IN VARCHAR2: = 'Jack') ca începând ... sfârșitul

În principal, există două modalități 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 dintre 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ă readucă 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 făcută, î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 de la o funcție.

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