Процедурууд ба Програмчлалын функцууд
Програмчлалын процедур ба функцууд нь программистуудад зааврыг нэг блокт бүлэглэх боломжийг олгодог бөгөөд үүнийг програмын янз бүрийн газраас дуудаж болно. Код нь ойлгоход хялбар бөгөөд илүү нягтаршилтай болно. Өөрчлөлтүүдийг нэг дор хийснээр код бүхэлдээ нөлөөлнө. Функц, журмын тусламжтайгаар; шугаман болон урт кодыг бие даасан хэсгүүдэд хувааж болно. Эдгээр нь янз бүрийн програмчлалын хэл болон мэдээллийн санг кодлоход илүү уян хатан байдлыг хангадаг.
Функц гэж юу вэ?
Функцууд нь аргумент гэж нэрлэгддэг параметрүүдийг хүлээн авах чадвартай. Тэд эдгээр аргумент эсвэл параметрийн дагуу даалгавруудыг гүйцэтгэж, өгөгдсөн төрлүүдийн утгыг буцаана. Үүнийг бид жишээний тусламжтайгаар илүү сайн тайлбарлаж болно: Функц нь мөрийг параметр болгон хүлээн авч, мэдээллийн сангаас эхний оруулга эсвэл бичлэгийг буцаана. Энэ нь ийм тэмдэгтээр эхэлсэн тодорхой талбарын агуулгыг харгалзан үздэг.
Функцийн синтакс дараах байдалтай байна:
FUNCTION ҮҮСГЭХ БУЮУ СОЛИХ
(p_name IN VARCHAR2:=‘Jack’) varchar2-г эхлэл гэж буцаана … төгсгөл
Ямар журам вэ?
Процедурууд нь параметр эсвэл аргументуудыг хүлээн авах боломжтой бөгөөд эдгээр параметрийн дагуу даалгавруудыг гүйцэтгэдэг. Хэрэв процедур нь мөрийг параметр болгон хүлээн авч, тодорхой талбарын агуулга нь ийм тэмдэгтээр эхэлдэг мэдээллийн санд байгаа бичлэгүүдийн жагсаалтыг гаргавал.
Журмын синтакс дараах байдалтай байна:
ЖУРАМ ҮҮСГЭХ БУЮУ СОЛИХ my_proc
(p_name IN VARCHAR2:=‘Jack’) эхлэл … төгсгөл
Үндсэндээ функц болон процедурт параметр дамжуулах хоёр арга байдаг; үнэ цэнэ эсвэл лавлагаагаар. Хэрэв параметрийг утгаар дамжуулсан бол; өөрчлөлт нь функц эсвэл процедурын бодит утгад нөлөөлөхгүйгээр нөлөөлсөн.
Нөгөө талаас параметрүүдийг лавлагаагаар дамжуулсан бол; Энэ параметрийн бодит утга нь зааврын дагуу кодын хаана ч дуудагдах болно.
Процедур ба функцүүдийн ялгаа
• Параметрийг процедурт шилжүүлэх үед; Энэ нь ямар ч утгыг буцаадаггүй, харин функц нь үргэлж утгыг буцаадаг.
• Аль алиных нь нэг гол ялгаа нь мэдээллийн санд процедурыг ашигладаггүй, харин функцууд нь мэдээллийн сангаас утгыг буцаахад чухал үүрэг гүйцэтгэдэг явдал юм.
• Процедурууд нь олон утгыг буцаах боломжтой бөгөөд функцууд нь хязгаарлагдмал утгыг буцаах боломжтой.
• Хадгалагдсан процедурт DML үйлдлүүдийг ашиглах боломжтой; гэхдээ тэдгээр нь функцэд боломжгүй.
• Функц нь зөвхөн нэг утгыг буцаах боломжтой бөгөөд энэ нь заавал байх ёстой, харин процедур нь n эсвэл тэг утгыг буцаана.
• Функцуудад алдаа засах боломжгүй, харин хадгалсан процедурт үүнийг хийх боломжтой.
• Оролт, гаралтын параметрүүдийг процедурт дамжуулах боломжтой бол функцийн хувьд; зөвхөн оролтын параметрүүдийг дамжуулж болно.
• Функцийг процедураас дуудаж болох боловч функцээс процедурыг дуудах боломжгүй.
• Гүйлгээний удирдлагыг журамд авч үзэх боломжтой бөгөөд функцийн хувьд авч үзэх боломжгүй.