Procedure e 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 posto, l'intero codice verrà influenzato. Con l'ausilio 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. Svolgono 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. Tiene conto del 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 … end
Cosa sono le procedure?
Le procedure possono accettare i parametri o gli argomenti e svolgono compiti secondo questi parametri. Se una procedura accetta una stringa come parametro e fornisce un elenco con record nel database per i quali il contenuto di un campo specifico inizia con tali caratteri.
La sintassi delle procedure è la seguente:
PROCEDURA CREA O SOSTITUZIONE my_proc
(p_name IN VARCHAR2:='Jack') come inizio … fine
Principalmente, ci sono due modi in cui un parametro viene passato in funzioni e 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 influire sul valore effettivo di essa.
D' altra parte, se i parametri sono passati da riferimenti; il valore effettivo di questo parametro verrà modificato ovunque venga richiamato all'interno del codice come da istruzioni.
Differenza tra procedure e funzioni
• 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 di 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 procedure memorizzate; 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 in caso di funzioni; possono essere passati solo i parametri di input.
• Le funzioni possono essere chiamate dalle procedure mentre non è possibile chiamare una procedura da una funzione.
• La gestione delle transazioni può essere considerata nelle procedure e non può essere considerata in caso di funzioni.