Skirtumas tarp saugomos procedūros ir funkcijos

Turinys:

Skirtumas tarp saugomos procedūros ir funkcijos
Skirtumas tarp saugomos procedūros ir funkcijos

Video: Skirtumas tarp saugomos procedūros ir funkcijos

Video: Skirtumas tarp saugomos procedūros ir funkcijos
Video: 5 klasė.II pamoka. Energija, judėjimas, jėgos. JUDĖJIMAS 2024, Liepa
Anonim

Išsaugota procedūra prieš funkciją

Išsaugotos procedūros ir funkcijos yra dviejų tipų programavimo blokai. Abu jie turi turėti vadinamuosius vardus. Tie iškvietimo vardai naudojami jiems iškviesti kitame programavimo bloke, pavyzdžiui, procedūrų funkcijose ir paketuose arba SQL užklausose. Abu šie objektų tipai priima parametrus ir atlieka už tai esančią užduotį. Tai sintaksė (ORACLE), skirta sukurti išsaugotą procedūrą, sukurti arba pakeisti procedūros procedūros pavadinimą (parametrus)

as

pradėti

pareiškimai;

išimtis

exception_handling

pabaiga;

Ir čia yra funkcijos kūrimo sintaksė (ORACLE), kurti arba pakeisti funkciją funkcijos_pavadinimas (parametrai)

return return_datatype

as

pradėti

pareiškimai;

return return_value/kintamasis;

išimtis;

exception_handling;

pabaiga;

Išsaugomos procedūros

Kaip minėta pirmiau, saugomos procedūros vadinamos programavimo blokais. Jie priima parametrus kaip vartotojo įvestį ir apdoroja pagal procedūros logiką ir pateikia rezultatą (arba atlieka konkretų veiksmą). Šie parametrai gali būti IN, OUT ir INOUT tipų. Kintamųjų deklaracijos, kintamųjų priskyrimas, valdymo sakiniai, kilpos, SQL užklausos ir kitos funkcijos / procedūrų / paketų iškvietimai gali būti procedūrų korpuse.

Funkcijos

Funkcijos taip pat vadinamos programavimo blokais, kurie turi grąžinti reikšmę naudodami RETURN sakinį, o prieš grąžinant reikšmę, jos kūnas taip pat atlieka kai kuriuos veiksmus (pagal pateiktą logiką). Funkcijos taip pat priima paleisti parametrus. Funkcijos gali būti iškviestos užklausų viduje. Kai funkcija iškviečiama SELECT užklausoje, ji taikoma kiekvienai SELECT užklausos rezultatų rinkinio eilutei. Yra keletas ORACLE funkcijų kategorijų. Jie yra

Vienos eilutės funkcijos (pateikia vieną rezultatą kiekvienai užklausos eilutei)

Yra vienos eilutės funkcijų subkategorijos.

  • Skaičių funkcija (pvz., ABS, SIN, COS)
  • Simbolių funkcija (pvz., CONCAT, INITCAP)
  • Datos ir laiko funkcija (pvz., LAST_DAY, NEXT_DAY)
  • Konversijos funkcijos (pvz.: TO_CHAR, TO_DATE)
  • Surinkimo funkcija (pvz.: KARDINALUMAS, SET)
  • Suvestinės funkcijos (pateikia vieną eilutę, pagrįstą eilučių grupe. Pvz.: AVG, SUM, MAX)
  • Analitinės funkcijos
  • Objekto nuorodos funkcijos
  • Modelio funkcijos
  • Vartotojo nustatytos funkcijos

Kuo skiriasi funkcija ir išsaugota procedūra?

• Visos funkcijos turi grąžinti reikšmę naudojant RETURN sakinį. Išsaugotos procedūros negrąžina reikšmių naudojant RETURN sakinį. PROCEDŪROS sakinys RETURN grąžins jo valdymą kviečiančiai programai. OUT parametrai gali būti naudojami norint grąžinti išsaugotų procedūrų reikšmes.

• Funkcijos gali būti iškviečiamos užklausose, tačiau išsaugotos procedūros negali būti naudojamos užklausose.

• Norint sukurti funkciją turi būti įtrauktas RETURN duomenų tipas, tačiau išsaugotoje procedūroje DDL to nėra.

Rekomenduojamas: