ቀስቃሾች vs Cursors
በመረጃ ቋት ውስጥ፣ ቀስቅሴ ማለት ሂደት (የኮድ ክፍል) አንዳንድ የተወሰኑ ክስተቶች በሰንጠረዥ/እይታ ውስጥ ሲከሰቱ በራስ ሰር የሚፈጸም ነው። ከሌሎች አጠቃቀሞች መካከል ቀስቅሴዎች በዋናነት በመረጃ ቋት ውስጥ ታማኝነትን ለመጠበቅ ያገለግላሉ። ጠቋሚ በዳታቤዝ መዝገቦች ውስጥ ለማለፍ የሚያገለግል የቁጥጥር መዋቅር ነው። በብዙ የፕሮግራሚንግ ቋንቋዎች ከሚቀርበው ተደጋጋሚነት ጋር በጣም ተመሳሳይ ነው።
ቀስቃሾች ምንድን ናቸው?
አስቀያሚ ሂደት (የኮድ ክፍል) አንዳንድ ልዩ ክስተቶች በአንድ የውሂብ ጎታ ሠንጠረዥ ውስጥ ሲከሰቱ የሚፈጸም ሂደት ነው። ከሌሎች አጠቃቀሞች መካከል ቀስቅሴዎች በዋናነት በመረጃ ቋት ውስጥ ታማኝነትን ለመጠበቅ ያገለግላሉ።ቀስቅሴዎች የንግድ ደንቦችን ለማስፈጸም፣ በመረጃ ቋቱ ውስጥ ለውጦችን ለመመርመር እና መረጃን ለመድገም ያገለግላሉ። በጣም የተለመዱ ቀስቅሴዎች ዳታ ማዛባት ቋንቋ (ዲኤምኤል) ቀስቅሴዎች ሲሆኑ መረጃው ሲሰራ የሚቀሰቀሱ ናቸው። አንዳንድ የውሂብ ጎታ ሥርዓቶች ዳታ ያልሆኑ ቀስቅሴዎችን ይደግፋሉ፣ እነዚህም በዳታ ፍቺ ቋንቋ (ዲኤልኤል) ክስተቶች ሲከሰቱ የሚቀሰቀሱ ናቸው። አንዳንድ ምሳሌዎች ጠረጴዛዎች ሲፈጠሩ የሚተኮሱ ቀስቅሴዎች ናቸው፣ በፈጸሙት ወይም በመልሶ መመለሻ ስራዎች ወቅት፣ ወዘተ. እነዚህ ቀስቅሴዎች በተለይ ለኦዲት አገልግሎት ሊውሉ ይችላሉ። የ Oracle ዳታቤዝ ሲስተም የሼማ ደረጃ ቀስቅሴዎችን ይደግፋል (ማለትም የመረጃ ቋቶች ሲሻሻሉ የሚተኮሱ ቀስቅሴዎች) እንደ ከተፈጠረ በኋላ፣ ከመቀየሩ በፊት፣ ከተቀየረ በኋላ፣ ከመውረድ በፊት፣ ከመውደቅ በኋላ፣ ወዘተ. በ Oracle የሚደገፉት አራት ዋና ዋና ቀስቅሴዎች የረድፍ ደረጃ ቀስቅሴዎች ናቸው። የአምድ ደረጃ ቀስቅሴዎች፣ እያንዳንዱ የረድፍ አይነት ቀስቅሴዎች እና ለእያንዳንዱ መግለጫ አይነት ቀስቅሴዎች።
Cursors ምንድን ናቸው?
ጠቋሚ በመረጃ ቋት መዝገቦች ውስጥ ለማለፍ የሚያገለግል የቁጥጥር መዋቅር ነው።በብዙ የፕሮግራሚንግ ቋንቋዎች ከሚቀርበው ተደጋጋሚነት ጋር በጣም ተመሳሳይ ነው። በመረጃ ቋት ውስጥ መዝገቦችን ከማለፍ በተጨማሪ ጠቋሚዎች መረጃን ለማውጣት፣ መዝገቦችን ለመጨመር እና ለመሰረዝ ያመቻቻሉ። ትክክለኛውን መንገድ በመግለጽ, ጠቋሚዎች ወደ ኋላ ለመሻገር ጥቅም ላይ ሊውሉ ይችላሉ. የSQL መጠይቅ የረድፎችን ስብስብ ሲመልስ፣ እነዚያ በትክክል የሚከናወኑት ጠቋሚዎችን በመጠቀም ነው። ጠቋሚው መጠሪያው ጥቅም ላይ ከመዋሉ በፊት መታወጅ እና ስም መመደብ አለበት። ከዚያ የ OPEN ትዕዛዝን በመጠቀም ጠቋሚውን መክፈት ያስፈልጋል. ይህ ክዋኔ ጠቋሚውን ከመጀመሪያው ረድፍ የመዝገቦች ስብስብ በፊት ያስቀምጣል. ከዚያ ጠቋሚው ወደ አፕሊኬሽኑ ውስጥ የውሂብ ረድፍ ለማግኘት የFETCH ስራውን ማከናወን አለበት። በመጨረሻም የ CLOSE ክወናን በመጠቀም ጠቋሚው መዘጋት አለበት. የተዘጉ ጠቋሚዎች እንደገና ሊከፈቱ ይችላሉ።
በቀስቃሾች እና ከርሰሮች መካከል ያለው ልዩነት ምንድነው?
አስቀያሚ ሂደት (የኮድ ክፍል) በመረጃ ቋት ውስጥ አንዳንድ የተለዩ ሁነቶች ሲከሰቱ በራስ ሰር የሚፈጸም ሲሆን ጠቋሚ ደግሞ በመረጃ ቋት መዝገቦች ውስጥ ለማለፍ የቁጥጥር መዋቅር ነው።ጠቋሚ ሊገለጽ እና ቀስቅሴ ውስጥ ጥቅም ላይ ሊውል ይችላል። በእንደዚህ ዓይነት ሁኔታ ውስጥ, የማስታወቂያው መግለጫ ቀስቅሴ ውስጥ ይሆናል. ከዚያ የጠቋሚው ወሰን በዚያ ቀስቅሴ ላይ ብቻ የተገደበ ይሆናል። ቀስቅሴ ውስጥ፣ ጠቋሚ በተጨመረው ወይም በተሰረዘ ጠረጴዛ ላይ ከተገለጸ፣ እንዲህ ያለው ጠቋሚ ከጎጆ ቀስቅሴ ማግኘት አይቻልም። ቀስቅሴ ከተጠናቀቀ በኋላ፣ በመቀስቀሻው ውስጥ የተፈጠሩ ሁሉም ጠቋሚዎች ይሰረዛሉ።