Eksplisiete wyser vs implisiete wyser
Wanneer dit by databasisse kom, is 'n wyser 'n beheerstruktuur wat dit moontlik maak om oor die rekords in 'n databasis te beweeg. 'n Wyser verskaf 'n meganisme om 'n naam aan 'n SQL-seleksiestelling toe te ken en dan kan dit gebruik word om die inligting binne daardie SQL-stelling te manipuleer. Implisiete wysers word outomaties geskep en gebruik elke keer as 'n Select-stelling in PL/SQL uitgereik word, wanneer daar geen eksplisiet gedefinieerde wyser is nie. Eksplisiete wysers, soos die naam aandui, word eksplisiet deur die ontwikkelaar gedefinieer. In PL/SQL is 'n eksplisiete wyser eintlik 'n benoemde navraag wat met die sleutelwoordwyser gedefinieer word.
Wat is implisiete wyser?
Implisiete wysers word outomaties geskep en gebruik deur Oracle elke keer as 'n uitgesoekte verklaring uitgereik word. As 'n implisiete wyser gebruik word, sal die databasisbestuurstelsel (DBMS) die oop-, haal- en toe-bewerkings outomaties uitvoer. Implisiete wysers moet slegs gebruik word met SQL-stellings wat 'n enkele ry terugstuur. As die SQL-stelling meer as een ry terugstuur, sal die gebruik van 'n implisiete wyser 'n fout lei. 'n Implisiete wyser word outomaties geassosieer met elke Data Manipulation Language (DML) stellings, naamlik INSERT, UPDATE en DELETE stellings. 'n Implisiete wyser word ook gebruik om SELECT INTO-stellings te verwerk. By die haal van data met behulp van implisiete wysers kan NO_DATA_FOUND uitsondering verhoog word wanneer die SQL-stelling geen data terugstuur nie. Verder kan implisiete wysers TOO_MANY_ROWS uitsonderings verhoog wanneer die SQL-stelling meer as een ry terugstuur.
Wat is eksplisiete wyser?
Soos vroeër genoem, is eksplisiete wysers navrae wat met 'n naam gedefinieer word.'n Eksplisiete wyser kan beskou word as 'n wyser na 'n stel rekords en die wyser kan vorentoe beweeg word binne die stel rekords. Eksplisiete wysers bied die gebruiker die volledige beheer oor die oopmaak, toemaak en haal van data. Ook kan veelvuldige rye met 'n eksplisiete wyser gehaal word. Eksplisiete wysers kan ook parameters neem net soos enige funksie of prosedure sodat die veranderlikes in die wyser verander kan word elke keer as dit uitgevoer word. Daarbenewens laat eksplisiete wysers jou toe om 'n hele ry na 'n PL/SQL-rekordveranderlike te haal. Wanneer 'n eksplisiete wyser gebruik word, moet dit eers met 'n naam verklaar word. Wyserkenmerke kan verkry word deur die naam wat aan wyser gegee is. Nadat u dit verklaar het, moet die wyser eers oopgemaak word. Dan kan daar begin word om te gaan haal. As veelvuldige rye gehaal moet word, moet die haalbewerking binne 'n lus gedoen word. Laastens moet die wyser gesluit word.
Verskil tussen eksplisiete wyser en implisiete wyser
Die belangrikste verskil tussen die implisiete wyser en eksplisiete wyser is dat 'n eksplisiete wyser eksplisiet gedefinieer moet word deur 'n naam te verskaf, terwyl implisiete wysers outomaties geskep word wanneer jy 'n uitgesoekte stelling uitreik. Verder kan veelvuldige rye met eksplisiete wysers gehaal word terwyl implisiete wysers slegs 'n enkele ry kan haal. Ook NO_DATA_FOUND en TOO_MANY_ROWS uitsonderings word nie verhoog wanneer eksplisiete wysers gebruik word nie, in teenstelling met implisiete wysers. In wese is implisiete wysers meer kwesbaar vir datafoute en bied minder programmatiese beheer as eksplisiete wysers. Implisiete wysers word ook as minder doeltreffend as eksplisiete wysers beskou.