Procedure vs funzioni nella programmazione
Le procedure e le funzioni in programmazione, consentono ai programmatori di raggruppare le istruzioni in un unico blocco e possono essere richiamate da vari punti all'interno del programma. Il codice diventa più facile da capire e più compatto. Eseguendo le modifiche in un unico punto, l'intero codice verrà influenzato. Con l'aiuto di funzioni e procedure; un codice lineare e lungo può essere suddiviso in sezioni indipendenti. Forniscono maggiore flessibilità alla codifica di vari linguaggi di programmazione e database.
Cosa sono le funzioni?
Le funzioni sono in grado di accettare parametri noti anche come argomenti. Eseguono le attività in base a questi argomenti o parametri e restituiscono valori di determinati tipi. Possiamo spiegarlo meglio con l'aiuto di un esempio: una funzione accetta una stringa come parametro e restituisce la prima voce o record da un database. Prende in considerazione il contenuto di un campo specifico che inizia con tali caratteri.
La sintassi della funzione è la seguente:
CREA O SOSTITUISCI FUNZIONE my_func
(p_name IN VARCHAR2: = 'Jack') restituisce varchar2 come inizio… fine
Cosa sono le procedure?
Le procedure possono accettare i parametri o gli argomenti e svolgono le attività secondo questi parametri. Se una procedura accetta una stringa come parametro e fornisce un elenco di record nel database per i quali il contenuto di un campo specifico inizia con tali caratteri.
La sintassi delle procedure è la seguente:
CREA O SOSTITUISCI PROCEDURA my_proc
(p_name IN VARCHAR2: = 'Jack') come inizio … fine
Principalmente, ci sono due modi in cui un parametro viene passato nelle funzioni e nelle procedure; per valore o per riferimento. Se il parametro viene passato da un valore; la modifica è influenzata all'interno della funzione o della procedura senza influenzarne il valore effettivo.
D'altra parte, se i parametri vengono passati da riferimenti; il valore effettivo di questo parametro verrà modificato ovunque venga richiamato all'interno del codice secondo le istruzioni.
• Quando il parametro viene passato alla procedura; non restituisce alcun valore mentre una funzione restituisce sempre un valore. • Una delle principali differenze in entrambi è che le procedure non vengono utilizzate nei database mentre le funzioni svolgono un ruolo importante nella restituzione dei valori da un database. • Le procedure sono in grado di restituire più valori e le funzioni sono in grado di restituire valori limitati. • Le operazioni DML possono essere utilizzate nelle stored procedure; tuttavia, non sono possibili nelle funzioni. • Le funzioni possono restituire un solo valore ed è obbligatorio mentre le procedure possono restituire n o zero valori. • Nelle funzioni, la gestione degli errori non può essere eseguita mentre può essere eseguita nelle procedure memorizzate. • I parametri di input e output possono essere passati nelle procedure mentre nel caso delle funzioni; possono essere passati solo parametri di input. • Le funzioni possono essere chiamate da procedure mentre non è possibile chiamare una procedura da una funzione. • La gestione delle transazioni può essere considerata nelle procedure e non può essere considerata nel caso delle funzioni. |