Kishale Kinachoonekana Kina dhidi ya Kiteuzi Kinachofichwa
Inapokuja kwenye hifadhidata, kishale ni muundo wa udhibiti unaoruhusu kupitia rekodi katika hifadhidata. Mshale hutoa utaratibu wa kukabidhi jina kwa taarifa iliyochaguliwa ya SQL na kisha inaweza kutumika kudhibiti habari iliyo ndani ya taarifa hiyo ya SQL. Vishale vilivyofichwa huundwa kiotomatiki na kutumika kila wakati taarifa ya Chagua inatolewa katika PL/SQL, wakati hakuna kishale kilichobainishwa kwa uwazi. Vishale vilivyo wazi, kama jina linavyopendekeza, hufafanuliwa kwa uwazi na msanidi programu. Katika PL/SQL kishale wazi ni swali lililopewa jina linalofafanuliwa kwa kutumia neno kuu la kishale.
Kishale Kilichofichwa ni nini?
Vishale vilivyofichwa huundwa kiotomatiki na kutumiwa na Oracle kila taarifa iliyochaguliwa inapotolewa. Ikiwa kielekezi kisicho wazi kinatumika, Mfumo wa Usimamizi wa Hifadhidata (DBMS) utafanya shughuli za kufungua, kuleta na kufunga kiotomatiki. Vielelezo vilivyo wazi vinapaswa kutumika tu na taarifa za SQL zinazorudisha safu mlalo moja. Iwapo taarifa ya SQL itarejesha zaidi ya safu mlalo moja, kutumia kielekezi kisicho wazi kutaleta hitilafu. Kishale kilichofichwa kinahusishwa kiotomatiki na kila taarifa za Lugha ya Udhibiti wa Data (DML), yaani INGIA, SASISHA na FUTA taarifa. Pia, kielekezi kisicho na maana kinatumika kuchakata kauli SELECT INTO. Wakati wa kuleta data kwa kutumia viambata dhabiti NO_DATA_FOUND ubaguzi unaweza kuonyeshwa wakati taarifa ya SQL haileti data. Zaidi ya hayo, vielekezi vilivyofichwa vinaweza kuongeza vighairi TOO_MANY_ROWS wakati taarifa ya SQL inarejesha zaidi ya safu mlalo moja.
Kishale Kinacho Dhahiri ni nini?
Kama ilivyotajwa awali, kishale dhahiri ni hoja zinazofafanuliwa kwa kutumia jina. Mshale ulio wazi unaweza kuzingatiwa kama kielekezi kwa seti ya rekodi na kielekezi kinaweza kusogezwa mbele ndani ya seti ya rekodi. Vishale vilivyo wazi humpa mtumiaji udhibiti kamili wa kufungua, kufunga na kuleta data. Pia, safu mlalo nyingi zinaweza kuletwa kwa kutumia mshale ulio wazi. Vielekezi vilivyo wazi vinaweza pia kuchukua vigezo kama vile chaguo za kukokotoa au utaratibu wowote ili viambajengo kwenye kiteuzi viweze kubadilishwa kila wakati kinapotekelezwa. Kwa kuongeza, vielekezi vilivyo wazi hukuruhusu kuleta safu mlalo nzima kwenye kigezo cha rekodi cha PL/SQL. Unapotumia mshale ulio wazi, kwanza unahitaji kutangazwa kwa kutumia jina. Sifa za mshale zinaweza kufikiwa kwa kutumia jina lililopewa kielekezi. Baada ya kutangaza, kielekezi kinahitaji kufunguliwa kwanza. Kisha kuchota kunaweza kuanza. Iwapo safu mlalo nyingi zinahitajika kuletwa, shughuli ya kuleta inahitaji kufanywa ndani ya kitanzi. Hatimaye, kielekezi kinahitaji kufungwa.
Tofauti Kati ya Kiteuzi Kinacho Wazi na Kiteuzi Kinacho Dhahiri
Tofauti kuu kati ya kishale kilichofichwa na kishale dhahiri ni kwamba kishale kilicho bayana kinahitaji kufafanuliwa kwa uwazi kwa kutoa jina huku vielekezi vilivyo wazi huundwa kiotomatiki unapotoa taarifa iliyochaguliwa. Zaidi ya hayo, safu mlalo nyingi zinaweza kuletwa kwa kutumia vielekezi dhahiri huku vielekezi vilivyofichwa vinaweza kuleta safu mlalo moja pekee. Pia vighairi NO_DATA_FOUND na TOO_MANY_ROWS havijaonyeshwa wakati wa kutumia vielekezi dhahiri, kinyume na viambatisho vilivyo wazi. Kimsingi, vielekezi vilivyofichwa vinaathiriwa zaidi na hitilafu za data na hutoa udhibiti mdogo wa kiprogramu kuliko vielekezi dhahiri. Pia, vielekezi vilivyofichwa huchukuliwa kuwa visivyofaa kuliko vielekezi dhahiri.