Бағдарламалаудағы процедуралар мен функциялар арасындағы айырмашылық

Бағдарламалаудағы процедуралар мен функциялар арасындағы айырмашылық
Бағдарламалаудағы процедуралар мен функциялар арасындағы айырмашылық

Бейне: Бағдарламалаудағы процедуралар мен функциялар арасындағы айырмашылық

Бейне: Бағдарламалаудағы процедуралар мен функциялар арасындағы айырмашылық
Бейне: What is the difference between a function and a procedure? 2024, Қараша
Anonim

Процедуралар және бағдарламалаудағы функциялар

Бағдарламалаудағы процедуралар мен функциялар, бағдарламашыларға нұсқауларды бір блокта топтастыруға мүмкіндік береді және оны бағдарламаның әртүрлі орындарынан шақыруға болады. Кодты түсіну оңайырақ және ықшам болады. Өзгерістерді бір жерде орындау арқылы бүкіл код әсер етеді. Функциялар мен процедуралардың көмегімен; сызықтық және ұзын кодты тәуелсіз бөлімдерге бөлуге болады. Олар әртүрлі бағдарламалау тілдері мен дерекқорларды кодтауға көбірек икемділік береді.

Функциялар дегеніміз не?

Функциялар аргументтер ретінде белгілі параметрлерді қабылдай алады. Олар осы аргументтерге немесе параметрлерге сәйкес тапсырмаларды орындайды және берілген түрлердің мәндерін қайтарады. Мұны мысалдың көмегімен жақсырақ түсіндіре аламыз: Функция жолды параметр ретінде қабылдайды және дерекқордан бірінші жазбаны немесе жазбаны қайтарады. Ол осындай таңбалардан басталатын белгілі бір өрістің мазмұнын ескереді.

Функция синтаксисі келесідей:

ФУНКЦИЯСЫН ЖАСАУ НЕМЕСЕ АЛМАСТЫРУ my_func

(p_name IN VARCHAR2:=‘Jack’) varchar2-ні басы ретінде қайтарады … соңы

Рәсімдер дегеніміз не?

Процедуралар параметрлерді немесе аргументтерді қабылдай алады және олар осы параметрлерге сәйкес тапсырмаларды орындайды. Егер процедура жолды параметр ретінде қабылдаса және ол белгілі бір өрістің мазмұны осындай таңбалардан басталатын дерекқордағы жазбалары бар тізімді берсе.

Рәсімдердің синтаксисі келесідей:

ПРОЦЕДУРАНЫ ЖАСАУ НЕМЕСЕ АЛМАСТЫРУ my_proc

(p_name IN VARCHAR2:=‘Джек’) басы … соңы

Негізінен, функциялар мен процедураларда параметрді берудің екі жолы бар; мәні бойынша немесе сілтеме бойынша. Егер параметр мән арқылы берілсе; өзгерту функцияның немесе процедураның ішінде оның нақты мәніне әсер етпестен әсер етеді.

Екінші жағынан, егер параметрлер сілтемелер арқылы берілсе; бұл параметрдің нақты мәні нұсқауларға сәйкес код ішінде шақырылған жерде өзгертіледі.

Рәсімдер мен функциялар арасындағы айырмашылық

• Параметр процедураға өткенде; ол ешбір мәнді қайтармайды, ал функция әрқашан мәнді қайтарады.

• Екеуінің де негізгі айырмашылықтарының бірі - процедуралардың дерекқорларда пайдаланылмайды, ал функциялар дерекқордан мәндерді қайтаруда маңызды рөл атқарады.

• Процедуралар бірнеше мәндерді қайтара алады және функциялар шектеулі мәндерді қайтара алады.

• DML операцияларын сақталған процедураларда пайдалануға болады; бірақ олар функцияларда мүмкін емес.

• Функциялар тек бір мәнді қайтара алады және бұл міндетті, ал процедуралар n немесе нөл мәндерін қайтара алады.

• Функцияларда қателерді өңдеу мүмкін емес, ал сақталған процедураларда орындалады.

• Енгізу және шығару параметрлерін процедураларда, ал функциялар жағдайында беруге болады; тек енгізу параметрлерін беруге болады.

• Функцияларды процедуралардан шақыруға болады, ал процедураны функциядан шақыру мүмкін емес.

• Транзакцияны басқару процедураларда қарастырылуы мүмкін және функциялар жағдайында қарастырылмайды.

Ұсынылған: