Программалоодогу процедуралар менен функциялардын ортосундагы айырма

Программалоодогу процедуралар менен функциялардын ортосундагы айырма
Программалоодогу процедуралар менен функциялардын ортосундагы айырма

Video: Программалоодогу процедуралар менен функциялардын ортосундагы айырма

Video: Программалоодогу процедуралар менен функциялардын ортосундагы айырма
Video: Autoimmune Autonomic Ganglionopathy: 2020 Update- Steven Vernino, MD, PhD 2024, Июль
Anonim

Процедуралар менен Программалоодогу функциялар

Программалоодогу процедуралар жана функциялар, программисттерге инструкцияларды бир блокто топтоого мүмкүндүк берет жана аны программанын ар кайсы жерлеринен чакырса болот. Код түшүнүү үчүн жеңил жана компакт болуп калат. Өзгөртүүлөрдү бир жерде жасоо менен, бүт код таасир этет. Функциялардын жана процедуралардын жардамы менен; сызыктуу жана узун кодду көз карандысыз бөлүктөргө бөлүүгө болот. Алар ар кандай программалоо тилдерин жана маалымат базаларын коддоодо көбүрөөк ийкемдүүлүктү камсыз кылат.

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

Функциялар аргументтер катары да белгилүү болгон параметрлерди кабыл алууга жөндөмдүү. Алар тапшырмаларды ушул аргументтерге же параметрлерге ылайык аткарышат жана берилген типтердин маанилерин кайтарышат. Муну мисалдын жардамы менен жакшыраак түшүндүрө алабыз: Функция сапты параметр катары кабыл алат жана маалымат базасынан биринчи жазууну же жазууну кайтарат. Ал ушундай символдор менен башталган белгилүү бир талаанын мазмунун эске алат.

Функциянын синтаксиси төмөнкүдөй:

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

(p_name IN VARCHAR2:='Джек') varchar2ни башталышы катары кайтарыңыз … аяктоо

Процедура деген эмне?

Процедуралар параметрлерди же аргументтерди кабыл алышы мүмкүн жана алар бул параметрлерге ылайык тапшырмаларды аткарышат. Эгерде процедура сапты параметр катары кабыл алса жана ал белгилүү бир талаанын мазмуну ушундай символдор менен башталган маалыматтар базасындагы жазуулар менен тизмени берсе.

Процедуранын синтаксиси төмөнкүдөй:

ПРОЦЕДУРАНЫ ТҮЗҮҮ ЖЕ АЛМАШТЫРУУ my_proc

(p_name IN VARCHAR2:='Джек') башталышы менен … аяктоо

Негизинен, функцияларда жана процедураларда параметрди өткөрүүнүн эки жолу бар; наркы боюнча же шилтеме боюнча. Эгерде параметр бир мааниге өтүп кетсе; өзгөртүү функциянын же процедуранын ичинде анын чыныгы маанисине таасирин тийгизбестен таасир этет.

Ал эми параметрлер шилтемелер аркылуу берилсе; бул параметрдин чыныгы мааниси нускамаларга ылайык коддун ичинде кайсы жерде чакырылбасын өзгөртүлөт.

Процедуралар менен функциялардын айырмасы

• Параметр процедурага өткөндө; ал эч кандай маани бербейт, ал эми функция ар дайым маанини кайтарат.

• Экөөнүн тең негизги айырмачылыктарынын бири - процедуралар маалымат базаларында колдонулбайт, ал эми функциялар маалымат базасынан маанилерди кайтарууда маанилүү роль ойнойт.

• Процедуралар бир нече маанини кайтара алат жана функциялар чектелген маанилерди кайтара алат.

• DML операциялары сакталган процедураларда колдонулушу мүмкүн; бирок, алар функцияларда мүмкүн эмес.

• Функциялар бир гана маанини кайтара алат жана ал милдеттүү, ал эми процедуралар n же нөл маанилерди кайтара алат.

• Функцияларда каталарды иштетүү мүмкүн эмес, ал эми сакталган процедураларда аткарылышы мүмкүн.

• Киргизүү жана чыгаруу параметрлерин процедураларда, ал эми функцияларда өткөрүүгө болот; киргизүү параметрлерин гана өткөрүүгө болот.

• Функцияларды процедуралардан чакырууга болот, ал эми функциядан процедураны чакыруу мүмкүн эмес.

• Транзакцияны башкаруу процедураларда каралышы мүмкүн, ал эми функцияларда каралышы мүмкүн эмес.

Сунушталууда: