Diferència entre el procediment emmagatzemat i la funció

Taula de continguts:

Diferència entre el procediment emmagatzemat i la funció
Diferència entre el procediment emmagatzemat i la funció

Vídeo: Diferència entre el procediment emmagatzemat i la funció

Vídeo: Diferència entre el procediment emmagatzemat i la funció
Vídeo: Fuerza centrífuga VS Fuerza centrípeta #shorts @dateunvlog 2024, De novembre
Anonim

Procediment emmagatzemat versus funció

Els procediments i les funcions emmagatzemades són dos tipus de blocs de programació. Tots dos han de tenir noms de crida. Aquests noms de trucada s'utilitzen per cridar-los dins d'un altre bloc de programació, com ara funcions de procediments i paquets o consultes SQL. Tots dos tipus d'objecte accepten paràmetres i realitzen la tasca darrere d'aquests objectes. Aquesta és la sintaxi (a ORACLE) per crear un procediment emmagatzemat, crear o substituir el procediment nom del procediment (paràmetres)

com a

begin

declaracions;

excepció

exception_handling

final;

I aquí teniu la sintaxi per crear una funció (a ORACLE), crear o substituir la funció nom_funció (paràmetres)

return return_datatype

com a

begin

declaracions;

return return_value/variable;

excepció;

exception_handling;

final;

Procediments emmagatzemats

Com s'ha esmentat anteriorment, els procediments emmagatzemats s'anomenen blocs de programació. Accepten paràmetres com a entrada de l'usuari i processen segons la lògica del procediment i donen el resultat (o realitzen una acció específica). Aquests paràmetres poden ser de tipus IN, OUT i INOUT. Les declaracions de variables, les assignacions de variables, les instruccions de control, els bucles, les consultes SQL i altres trucades a funcions/procediments/paquets poden estar dins del cos dels procediments.

Funcions

Les funcions també s'anomenen blocs de programació, que han de retornar un valor mitjançant la instrucció RETURN, i abans de retornar un valor, el seu cos també realitza algunes accions (segons la lògica donada). Les funcions també accepten paràmetres per executar-se. Les funcions es poden cridar dins de les consultes. Quan es crida una funció dins d'una consulta SELECT, s'aplica a cada fila del conjunt de resultats de la consulta SELECT. Hi ha diverses categories de funcions ORACLE. Són,

Funcions d'una sola fila (retorn un únic resultat per a totes i cadascuna de les files de la consulta)

Hi ha subcategories de funcions d'una sola fila.

  • Funció numèrica (Ex: ABS, SIN, COS)
  • Funció de caràcter (Ex: CONCAT, INITCAP)
  • Funció de data i hora (Ex: LAST_DAY, NEXT_DAY)
  • Funcions de conversió (Ex: TO_CHAR, TO_DATE)
  • Funció de recollida (ex.: CARDINALITAT, SET)
  • Funcions agregades (Retorna una sola fila, basada en un grup de files. Per exemple: AVG, SUM, MAX)
  • Funcions analítiques
  • Funcions de referència d'objectes
  • Funcions del model
  • Funcions definides per l'usuari

Quina diferència hi ha entre la funció i el procediment emmagatzemat?

• Totes les funcions han de retornar un valor mitjançant la instrucció RETURN. Els procediments emmagatzemats no retornen valors mitjançant la instrucció RETURN. La instrucció RETURN dins d'un procediment retornarà el seu control al programa cridant. Els paràmetres OUT es poden utilitzar per retornar valors dels procediments emmagatzemats.

• Les funcions es poden cridar dins de les consultes, però els procediments emmagatzemats no es poden utilitzar dins de les consultes.

• El tipus de dades RETURN s'ha d'incloure per crear una funció, però al procediment emmagatzemat DDL, no ho és.

Recomanat: