Pagkakaiba sa Pagitan ng Stored Procedure at Function

Talaan ng mga Nilalaman:

Pagkakaiba sa Pagitan ng Stored Procedure at Function
Pagkakaiba sa Pagitan ng Stored Procedure at Function

Video: Pagkakaiba sa Pagitan ng Stored Procedure at Function

Video: Pagkakaiba sa Pagitan ng Stored Procedure at Function
Video: Making Sense of Mass, Velocity, and Radius 2024, Nobyembre
Anonim

Stored Procedure vs Function

Ang mga nakaimbak na pamamaraan at function ay dalawang uri ng mga bloke ng programming. Dapat silang dalawa ay may mga pangalang tumatawag. Ang mga pangalan ng pagtawag ay ginagamit upang tawagan ang mga ito sa loob ng isa pang bloke ng programming tulad ng mga function ng procedure at mga pakete o mga query sa SQL. Pareho sa mga uri ng bagay na ito ay tumatanggap ng mga parameter at ginagawa ang gawain sa likod ng mga bagay na iyon. Ito ang syntax (sa ORACLE) para gumawa ng nakaimbak na pamamaraan, lumikha o palitan ang procedurename ng procedure (mga parameter)

as

magsimula

statements;

exception

exception_handling

end;

At narito ang syntax para gumawa ng function (sa ORACLE), lumikha o palitan ang function_name ng function (mga parameter)

return return_datatype

as

magsimula

statements;

return return_value/variable;

exception;

exception_handling;

end;

Mga Stored Procedure

Tulad ng nabanggit sa itaas, ang mga nakaimbak na pamamaraan ay pinangalanang mga bloke ng programming. Tumatanggap sila ng mga parameter bilang input at proseso ng user ayon sa lohika sa likod ng pamamaraan at nagbibigay ng resulta (o magsagawa ng isang partikular na aksyon). Ang mga parameter na ito ay maaaring mga uri ng IN, OUT at INOUT. Ang mga variable na deklarasyon, variable na pagtatalaga, control statement, loop, SQL query at iba pang function/procedure/package na tawag ay maaaring nasa loob ng katawan ng mga pamamaraan.

Function

Ang Functions ay pinangalanan ding mga programming block, na dapat magbalik ng value gamit ang RETURN statement, at bago ito magbalik ng value, ang katawan nito ay nagsasagawa rin ng ilang aksyon (ayon sa ibinigay na logic). Tumatanggap din ang mga function ng mga parameter na tatakbo. Maaaring tawagan ang mga function sa loob ng mga query. Kapag tinawag ang isang function sa loob ng SELECT query, nalalapat ito sa bawat row ng resulta set ng SELECT query. Mayroong ilang mga kategorya ng mga function ng ORACLE. Sila ay,

Single row function (nagbabalik ng isang resulta para sa bawat row ng query)

May mga subcategory ng iisang row function.

  • Numeric function (Hal: ABS, SIN, COS)
  • Character function (Hal: CONCAT, INITCAP)
  • Pag-andar ng oras ng petsa (Hal: LAST_DAY, NEXT_DAY)
  • Mga function ng conversion (Hal: TO_CHAR, TO_DATE)
  • Collection function (Hal: CARDINALITY, SET)
  • Mga pinagsama-samang function (Ibinabalik ang isang row, batay sa isang pangkat ng mga row. Hal: AVG, SUM, MAX)
  • Analytic function
  • Object reference function
  • Mga function ng modelo
  • Mga function na tinukoy ng user

Ano ang pagkakaiba ng function at Stored Procedure?

• Lahat ng function ay dapat magbalik ng value gamit ang RETURN statement. Ang mga nakaimbak na pamamaraan ay hindi nagbabalik ng mga halaga gamit ang RETURN statement. Ibabalik ng RETURN statement sa loob ng isang procedure ang kontrol nito sa calling program. Maaaring gamitin ang mga OUT na parameter para ibalik ang mga value mula sa mga nakaimbak na procedure.

• Maaaring tawagan ang mga function sa loob ng mga query, ngunit hindi magagamit ang mga stored procedure sa loob ng mga query.

• Ang uri ng data ng RETURN ay dapat isama upang lumikha ng isang function, ngunit sa stored procedure DDL, ito ay hindi.

Inirerekumendang: