Išsaugota procedūra vs funkcija
Saugomos procedūros ir funkcijos yra dviejų tipų programavimo blokai. Jie abu turi turėti skambinančius vardus. Tie skambučių vardai naudojami skambinti jiems kitame programavimo bloke, pavyzdžiui, procedūrų funkcijose ir paketuose arba SQL užklausose. Abu šie objektų tipai priima parametrus ir atlieka užduotį už tų objektų. Tai yra sintaksė (ORACLE), norint sukurti saugomą procedūrą,
sukurti arba pakeisti procedūros procedūros pavadinimą (parametrus)
kaip
prasideda
teiginiai;
išimtis
išimtis_ tvarkymas
galas;
Čia yra funkcijos kūrimo sintaksė (ORACLE),
sukurti arba pakeisti funkciją function_name (parametrai)
grąžinti grąžinimo duomenų tipą
kaip
prasideda
teiginiai;
return return_value / kintamasis;
išimtis;
išimtis_ tvarkymas;
galas;
Laikomos procedūros
Kaip minėta aukščiau, saugomos procedūros vadinamos programavimo blokais. Jie priima parametrus kaip vartotojo įvestį ir apdoroja vadovaudamiesi procedūros logika ir pateikia rezultatą (arba atlieka konkretų veiksmą). Šie parametrai gali būti IN, OUT ir INOUT tipai. Kintamos deklaracijos, kintamos priskyrimai, valdymo teiginiai, ciklai, SQL užklausos ir kitos funkcijos / procedūros / paketo skambučiai gali būti procedūrų korpuse.
Funkcijos
Funkcijos taip pat vadinamos programavimo blokais, kurie turi grąžinti reikšmę naudodamiesi RETURN sakiniu, o prieš grąžindami reikšmę, jos kūnas taip pat atlieka kai kuriuos veiksmus (pagal nurodytą logiką). Funkcijos taip pat priima parametrus, kad būtų galima paleisti. Funkcijas galima vadinti užklausų viduje. Kai funkcija vadinama SELECT užklausos viduje, ji taikoma kiekvienai SELECT užklausos rezultatų rinkinio eilutei. Yra kelios ORACLE funkcijų kategorijos. Jie yra,
Yra vienos eilutės funkcijų pogrupiai.
Kuo skiriasi funkcija ir saugoma procedūra?? • Visos funkcijos turi grąžinti reikšmę naudodamos RETURN sakinį. Išsaugotos procedūros negrąžina reikšmių naudodamos RETURN sakinį. RETURN sakinys procedūros metu grąžins savo valdymą skambinančiai programai. OUT parametrai gali būti naudojami norint grąžinti iš saugomų procedūrų reikšmes. • Funkcijos gali būti iškviečiamos užklausų viduje, tačiau išsaugotos procedūros negali būti naudojamos užklausų viduje. • Norint sukurti funkciją, reikia įtraukti duomenų atkūrimo tipą, tačiau saugotoje DDL procedūroje jis nėra. |