Verschil tussen opgeslagen procedure en functie

Inhoudsopgave:

Verschil tussen opgeslagen procedure en functie
Verschil tussen opgeslagen procedure en functie

Video: Verschil tussen opgeslagen procedure en functie

Video: Verschil tussen opgeslagen procedure en functie
Video: What is Centripetal force? 2024, November
Anonim

Opgeslagen procedure versus functie

Opgeslagen procedures en functies zijn twee soorten programmeerblokken. Beiden moeten roepnamen hebben. Die aanroepende namen worden gebruikt om ze binnen een ander programmeerblok aan te roepen, zoals procedures, functies en pakketten of SQL-query's. Beide objecttypen accepteren parameters en voeren de taak achter die objecten uit. Dit is de syntaxis (in ORACLE) om een opgeslagen procedure te maken, procedurenaam aanmaken of vervangen (parameters)

as

begin

verklaringen;

uitzondering

exception_handling

end;

En hier is de syntaxis om een functie te maken (in ORACLE), maak of vervang functie functienaam (parameters)

return return_datatype

as

begin

verklaringen;

return return_value/variabele;

uitzondering;

exception_handling;

end;

Opgeslagen procedures

Zoals hierboven vermeld, worden opgeslagen procedures programmeerblokken genoemd. Ze accepteren parameters als gebruikersinvoer en verwerken volgens de logica achter de procedure en geven het resultaat (of voeren een specifieke actie uit). Deze parameters kunnen IN, OUT en INOUT zijn. Variabele declaraties, variabele toewijzingen, controle-statements, loops, SQL-query's en andere functies/procedure/pakketaanroepen kunnen zich in de hoofdtekst van procedures bevinden.

Functies

Functies worden ook programmeerblokken genoemd, die een waarde moeten retourneren met behulp van de RETURN-instructie, en voordat het een waarde retourneert, voert de hoofdtekst ook enkele acties uit (volgens de gegeven logica). Functies accepteren ook parameters om uit te voeren. Functies kunnen binnen de query's worden aangeroepen. Wanneer een functie binnen een SELECT-query wordt aangeroepen, is deze van toepassing op elke rij van de resultatenset van de SELECT-query. Er zijn verschillende categorieën ORACLE-functies. Ze zijn,

Enkele rij-functies (retourneert een enkel resultaat voor elke rij van de query)

Er zijn subcategorieën van een enkele rij-functies.

  • Numerieke functie (bijv. ABS, SIN, COS)
  • Tekenfunctie (bijv. CONCAT, INITCAP)
  • Datum-tijdfunctie (bijv. LAST_DAY, NEXT_DAY)
  • Conversiefuncties (bijv. TO_CHAR, TO_DATE)
  • Verzamelingsfunctie (bijvoorbeeld: CARDINALITY, SET)
  • Aggregatiefuncties (Retourneert een enkele rij, gebaseerd op een groep rijen. Bijvoorbeeld: AVG, SUM, MAX)
  • Analytische functies
  • Objectreferentiefuncties
  • Modelfuncties
  • Door de gebruiker gedefinieerde functies

Wat is het verschil tussen functie en opgeslagen procedure?

• Alle functies moeten een waarde retourneren met de RETURN-instructie. Opgeslagen procedures retourneren geen waarden met de instructie RETURN. RETURN-instructie binnen een procedure zal zijn controle teruggeven aan het oproepende programma. OUT-parameters kunnen worden gebruikt om waarden uit opgeslagen procedures te retourneren.

• Functies kunnen binnen de query's worden aangeroepen, maar opgeslagen procedures kunnen niet binnen de query's worden gebruikt.

• RETURN-gegevenstype moet worden opgenomen om een functie te maken, maar in de opgeslagen procedure DDL is dit niet het geval.

Aanbevolen: