የተከማቸ አሰራር vs ተግባር
የተከማቹ ሂደቶች እና ተግባራት ሁለት አይነት የፕሮግራሚንግ ብሎኮች ናቸው። ሁለቱም መጠሪያ ስም ሊኖራቸው ይገባል። እነዚያ የመደወያ ስሞች በሌላ የፕሮግራም አወጣጥ ብሎክ ውስጥ እንደ የአሠራር ተግባራት እና ፓኬጆች ወይም የ SQL መጠይቆች ለመጥራት ያገለግላሉ። እነዚህ ሁለቱም ዓይነቶች ግቤቶችን ይቀበላሉ እና ከእነዚያ ነገሮች በስተጀርባ ያለውን ተግባር ያከናውናሉ. ይህ የተከማቸ ሂደት ለመፍጠር (በORACLE ውስጥ) አገባብ ነው፣
የሂደቱን ሂደት ስም (መለኪያዎች) ይፍጠሩ ወይም ይተኩ
እንደ
ጀምር
መግለጫዎች፤
ከ በስተቀር
ከአያያዝ_በቀር
መጨረሻ፤
እና ተግባርን ለመፍጠር አገባብ ይኸውና (በORACLE)፣
የተግባር_ስም (መለኪያዎችን) ይፍጠሩ ወይም ይተኩ
የመመለሻ_ውሂብ አይነት
እንደ
ጀምር
መግለጫዎች፤
የመመለሻ_እሴት/ተለዋዋጭ፤
ከሌላ፤
ከአያያዝ_በቀር፤
መጨረሻ፤
የተከማቹ ሂደቶች
ከላይ እንደተገለፀው የተከማቹ ሂደቶች የፕሮግራሚንግ ብሎኮች ተብለው ተሰይመዋል። ግቤቶችን እንደ ተጠቃሚ ግብአት ይቀበላሉ እና ከሂደቱ በስተጀርባ ባለው አመክንዮ መሰረት ያካሂዳሉ እና ውጤቱን ይሰጣሉ (ወይም አንድ የተወሰነ ተግባር ያከናውናሉ)። እነዚህ መለኪያዎች የ IN፣ OUT እና INOUT ዓይነቶች ሊሆኑ ይችላሉ። ተለዋዋጭ መግለጫዎች፣ ተለዋዋጮች ምደባዎች፣ የቁጥጥር መግለጫዎች፣ loops፣ SQL መጠይቆች እና ሌሎች ተግባራት/ሂደት/ጥቅል ጥሪዎች በሂደት አካል ውስጥ ሊሆኑ ይችላሉ።
ተግባራት
ተግባራት እንዲሁ የፕሮግራሚንግ ብሎኮች ተብለው ተጠርተዋል፣ እነዚህም የRETURN መግለጫን በመጠቀም እሴትን መመለስ አለባቸው እና እሴትን ከመመለሱ በፊት ሰውነቱ አንዳንድ እርምጃዎችን ያከናውናል (በተሰጠው አመክንዮ መሠረት)። ተግባራት ለማሄድ መለኪያዎችንም ይቀበላሉ። ተግባራት በጥያቄዎች ውስጥ ሊጠሩ ይችላሉ. በ SELECT መጠይቅ ውስጥ አንድ ተግባር ሲጠራ፣ በእያንዳንዱ ረድፍ የ SELECT መጠይቁን የውጤት ስብስብ ላይ ተፈጻሚ ይሆናል። በርካታ የORACLE ተግባራት ምድቦች አሉ። እነሱም
የነጠላ ረድፍ ተግባራት (ለእያንዳንዱ የጥያቄው ረድፍ አንድ ነጠላ ውጤት ይመልሳል)
የአንድ ረድፍ ተግባራት ንዑስ ምድቦች አሉ።
- ቁጥር ተግባር (ለምሳሌ፦ ABS፣ SIN፣ COS)
- የቁምፊ ተግባር (ለምሳሌ፡ CONCAT፣ INITCAP)
- የቀን ሰዓት ተግባር (ለምሳሌ፦ LAST_DAY፣ NEXT_DAY)
- የልወጣ ተግባራት (ለምሳሌ፦ TO_CHAR፣ TO_DATE)
- የስብስብ ተግባር (ለምሳሌ፡ CARDINALITY፣ SET)
- የድምር ተግባራት (አንድ ረድፍ በረድፎች ቡድን ላይ በመመስረት ይመልሳል። ለምሳሌ፡ AVG፣ SUM፣ MAX)
- የትንታኔ ተግባራት
- የነገር ማጣቀሻ ተግባራት
- የሞዴል ተግባራት
- በተጠቃሚ የተገለጹ ተግባራት
በተግባር እና በተከማቸ አሰራር መካከል ያለው ልዩነት ምንድን ነው?
• ሁሉም ተግባራት የመመለሻ መግለጫን በመጠቀም እሴት መመለስ አለባቸው። የተከማቹ ሂደቶች የRETURN መግለጫን በመጠቀም እሴቶችን አይመልሱም። በሂደቱ ውስጥ የመመለስ መግለጫ መቆጣጠሪያውን ወደ ጥሪ ፕሮግራሙ ይመልሳል። የOUT መለኪያዎች እሴቶችን ከተከማቹ ሂደቶች ለመመለስ ጥቅም ላይ ሊውሉ ይችላሉ።
• ተግባራት በጥያቄዎች ውስጥ ሊጠሩ ይችላሉ፣ነገር ግን የተከማቹ ሂደቶችን በጥያቄዎቹ ውስጥ መጠቀም አይቻልም።
• ተግባር ለመፍጠር የመመለሻ የውሂብ አይነት መካተት አለበት፣ነገር ግን በተከማቸ አሰራር DDL፣ አይደለም::