ግልጽ ጠቋሚ vs ስውር ጠቋሚ
ወደ ዳታቤዝ ስንመጣ ጠቋሚ በመረጃ ቋት ውስጥ ያሉ መዝገቦችን ለማለፍ የሚያስችል የቁጥጥር መዋቅር ነው። ጠቋሚ ለ SQL መምረጫ መግለጫ ስም ለመመደብ ዘዴን ያቀርባል እና ከዚያ በ SQL መግለጫ ውስጥ ያለውን መረጃ ለመጠቀም ሊያገለግል ይችላል። በPL/SQL ውስጥ የምረጥ መግለጫ በወጣ ቁጥር ስውር ጠቋሚዎች በራስ-ሰር ይፈጠራሉ እና ጥቅም ላይ ይውላሉ፣ በግልጽ የተቀመጠ ጠቋሚ በሌለበት። ግልጽ ጠቋሚዎች፣ ስሙ እንደሚያመለክተው፣ በገንቢው በግልፅ ይገለጻሉ። በPL/SQL ውስጥ ግልጽ ጠቋሚ በትክክል የጠቋሚ ቁልፍ ቃልን በመጠቀም የተገለጸ መጠየቂያ ነው።
ስውር ጠቋሚ ምንድነው?
ስውር ጠቋሚዎች በራስ ሰር በOracle ተፈጥረዋል እና የተመረጠ መግለጫ በወጣ ቁጥር ጥቅም ላይ ይውላሉ። ስውር ጠቋሚ ጥቅም ላይ ከዋለ የውሂብ ጎታ አስተዳደር ሲስተም (ዲቢኤምኤስ) ክፈት፣ ማምጣት እና ስራዎችን በራስ-ሰር ያከናውናል። ስውር ጠቋሚዎች አንድ ረድፍ በሚመልሱ የSQL መግለጫዎች ብቻ መጠቀም አለባቸው። የSQL መግለጫ ከአንድ ረድፍ በላይ ከተመለሰ፣ ስውር ጠቋሚን መጠቀም ስህተትን ያመጣል። ስውር ጠቋሚ ከእያንዳንዱ የውሂብ ማዛመጃ ቋንቋ (ዲኤምኤል) መግለጫዎች ጋር በቀጥታ ይገናኛል፣ እነሱም INSERT፣ አዘምን እና መግለጫዎችን ሰርዝ። እንዲሁም፣ ምረጥ INTO መግለጫዎችን ለማስኬድ ስውር ጠቋሚ ጥቅም ላይ ይውላል። ስውር ጠቋሚዎችን በመጠቀም ውሂብ ሲያመጣ የSQL መግለጫ ምንም ውሂብ በማይመልስበት ጊዜ NO_DATA_FOUND ልዩ ሊነሳ ይችላል። በተጨማሪም የSQL መግለጫ ከአንድ ረድፍ በላይ ሲመለስ ስውር ጠቋሚዎች TOO_MANY_ROWS ልዩ ሁኔታዎችን ከፍ ማድረግ ይችላሉ።
ግልጽ ጠቋሚ ምንድነው?
ቀደም ሲል እንደተገለፀው ግልጽ ጠቋሚዎች መጠይቆች በስም የተገለጹ ናቸው።ግልጽ ጠቋሚ ወደ መዝገቦች ስብስብ እንደ ጠቋሚ ሊታሰብ ይችላል እና ጠቋሚው በመዝገቦች ስብስብ ውስጥ ወደፊት ሊራመድ ይችላል. ግልጽ ጠቋሚዎች ለተጠቃሚው መረጃን በመክፈት፣ በመዝጋት እና በማምጣት ላይ ሙሉ ቁጥጥር ይሰጣሉ። እንዲሁም፣ ግልጽ ጠቋሚን በመጠቀም በርካታ ረድፎችን ማምጣት ይቻላል። ግልጽ ጠቋሚዎች ልክ እንደ ማንኛውም ተግባር ወይም አሰራር መለኪያዎችን ሊወስዱ ስለሚችሉ በጠቋሚው ውስጥ ያሉት ተለዋዋጮች በተፈጸሙ ቁጥር ሊለወጡ ይችላሉ። በተጨማሪም፣ ግልጽ ጠቋሚዎች አንድ ረድፍ ወደ PL/SQL ሪኮርድ ተለዋዋጭ እንዲያመጡ ያስችሉዎታል። ግልጽ ጠቋሚን በሚጠቀሙበት ጊዜ በመጀመሪያ ስም በመጠቀም መታወጅ ያስፈልገዋል. የጠቋሚ ባህሪያት ለጠቋሚ በተሰጠው ስም መጠቀም ይቻላል. ካወጀ በኋላ ጠቋሚ መጀመሪያ መከፈት አለበት። ከዚያም ማምጣት መጀመር ይቻላል. ብዙ ረድፎችን ማምጣት ካስፈለገ የማውጣት ክዋኔው በ loop ውስጥ መከናወን አለበት። በመጨረሻም ጠቋሚው መዘጋት አለበት።
በግልጽ ጠቋሚ እና ስውር ጠቋሚ መካከል ያለው ልዩነት
በግልጽ ጠቋሚ እና ግልጽ ጠቋሚ መካከል ያለው ዋናው ልዩነት ግልጽ የሆነ ጠቋሚ ስም በመስጠት ግልጽ በሆነ መንገድ መግለፅ ሲኖርም ስውር ጠቋሚዎች የሚመረጡ መግለጫ ሲያወጡ ነው።በተጨማሪም፣ በርካታ ረድፎችን ግልጽ የሆኑ ጠቋሚዎችን በመጠቀም ሊመጣ ይችላል፣ ስውር ጠቋሚዎች ግን አንድ ረድፍ ብቻ ማምጣት ይችላሉ። እንዲሁም NO_DATA_FOUND እና TOO_MANY_ROWS የማይታዩ ግልጽ ጠቋሚዎችን ሲጠቀሙ አይነሱም፣ ከስውር ጠቋሚዎች በተቃራኒ። በመሰረቱ፣ ስውር ጠቋሚዎች ለመረጃ ስህተቶች የበለጠ ተጋላጭ ናቸው እና ከግልጽ ጠቋሚዎች ያነሰ የፕሮግራም ቁጥጥር ይሰጣሉ። እንዲሁም፣ ስውር ጠቋሚዎች ግልጽ ከሆኑ ጠቋሚዎች ያነሱ ተደርገው ይወሰዳሉ።