Ընթացակարգերն ընդդեմ գործառույթների ծրագրավորման
Ընթացակարգերը և գործառույթները ծրագրավորման մեջ, թույլ են տալիս ծրագրավորողներին խմբավորել հրահանգները մեկ բլոկում և այն կարող է կանչվել ծրագրի տարբեր վայրերից: Կոդը դառնում է ավելի հեշտ հասկանալի և ավելի կոմպակտ: Փոփոխությունները կատարելով մեկ տեղում, ամբողջ կոդը կազդի: Գործառույթների և ընթացակարգերի օգնությամբ; գծային և երկար ծածկագիրը կարելի է բաժանել անկախ բաժինների: Նրանք ավելի շատ ճկունություն են ապահովում ծրագրավորման տարբեր լեզուների և տվյալների բազաների կոդավորման համար:
Ի՞նչ են գործառույթները:
Ֆունկցիաները կարող են ընդունել այնպիսի պարամետրեր, որոնք նաև հայտնի են որպես արգումենտներ:Նրանք առաջադրանքները կատարում են ըստ այս արգումենտների կամ պարամետրերի և վերադարձնում են տվյալ տեսակների արժեքները: Մենք կարող ենք դա ավելի լավ բացատրել օրինակի օգնությամբ. ֆունկցիան ընդունում է տողը որպես պարամետր և վերադարձնում է տվյալների բազայից առաջին մուտքը կամ գրառումը։ Այն հաշվի է առնում որոշակի դաշտի բովանդակությունը, որը սկսվում է նման նիշերով:
Ֆունկցիայի շարահյուսությունը հետևյալն է.
ՍՏԵՂԾԵԼ ԿԱՄ ՓՈԽԱՐԻՆԵԼ ՖՈՒՆԿՑԻԱ my_func
(p_name IN VARCHAR2:=«Jack») վերադարձրեք varchar2 որպես սկիզբ … վերջ
Ի՞նչ են ընթացակարգերը:
Ընթացակարգերը կարող են ընդունել պարամետրերը կամ արգումենտները, և դրանք կատարում են առաջադրանքներ այս պարամետրերի համաձայն: Եթե պրոցեդուրան ընդունում է տողը որպես պարամետր, և այն տալիս է տվյալների բազայի գրառումներով ցուցակ, որոնց համար որոշակի դաշտի բովանդակությունը սկսվում է այդպիսի նիշերով:
Ընթացակարգերի շարահյուսությունը հետևյալն է.
ՍՏԵՂԾԵԼ ԿԱՄ ՓՈԽԱՐԻՆԵԼ ԿԱՐԳԸ my_proc
(p_name IN VARCHAR2:=«Jack») որպես սկիզբ … վերջ
Հիմնականում կան երկու եղանակներ, որոնց միջոցով պարամետրը փոխանցվում է ֆունկցիաների և ընթացակարգերի մեջ. ըստ արժեքի կամ հղման: Եթե պարամետրը փոխանցվում է արժեքով; փոփոխությունը ազդում է ֆունկցիայի կամ ընթացակարգի շրջանակներում՝ չազդելով դրա իրական արժեքի վրա:
Մյուս կողմից, եթե պարամետրերը փոխանցվում են հղումներով; այս պարամետրի իրական արժեքը կփոխվի, որտեղ էլ որ այն կանչվի կոդի մեջ՝ համաձայն հրահանգների:
Տարբերությունը ընթացակարգերի և գործառույթների միջև
• Երբ պարամետրը փոխանցվում է ընթացակարգին; այն չի վերադարձնում որևէ արժեք, մինչդեռ ֆունկցիան միշտ արժեք է վերադարձնում:
• Երկուսի հիմնական տարբերություններից մեկն այն է, որ ընթացակարգերը չեն օգտագործվում տվյալների բազաներում, մինչդեռ ֆունկցիաները կարևոր դեր են խաղում տվյալների բազայից արժեքները վերադարձնելու գործում:
• Ընթացակարգերը կարող են վերադարձնել բազմաթիվ արժեքներ, իսկ գործառույթները կարող են վերադարձնել սահմանափակ արժեքներ:
• DML գործառնությունները կարող են օգտագործվել պահված ընթացակարգերում; սակայն դրանք հնարավոր չեն ֆունկցիաներում։
• Ֆունկցիաները կարող են վերադարձնել միայն մեկ արժեք և դա պարտադիր է, մինչդեռ ընթացակարգերը կարող են վերադարձնել n կամ զրո արժեքներ:
• Ֆունկցիաներում սխալների մշակումը հնարավոր չէ, մինչդեռ այն կարող է իրականացվել պահպանված ընթացակարգերում:
• Մուտքային և ելքային պարամետրերը կարող են փոխանցվել ընթացակարգերում, մինչդեռ գործառույթների դեպքում; կարելի է փոխանցել միայն մուտքային պարամետրերը։
• Գործառույթները կարելի է կանչել պրոցեդուրաներից, մինչդեռ հնարավոր չէ պրոցեդուրա կանչել ֆունկցիայից:
• Գործարքների կառավարումը կարող է դիտարկվել ընթացակարգերում և այն չի կարող դիտարկվել գործառույթների դեպքում: