Skillnad mellan Explicit Markör och Implicit Markör

Anonim

Explicit Markör vs Implicit Markör

När det gäller databaser är en markör en kontrollstruktur som gör det möjligt att korsa över posterna i en databas. En markör ger en mekanism för att tilldela ett namn till ett SQL-valda uttalande och sedan kan det användas för att manipulera informationen i det SQL-uttalandet. Implikta markörer skapas automatiskt och används varje gång ett Select-meddelande utfärdas i PL / SQL, när det inte finns någon explicit definierad markör. Explicit cursors, som namnet antyder, definieras explicit av utvecklaren. I PL / SQL är en explicit markör en namngiven fråga definierad med nyckelordmarkören.

Vad är Implicit Markör?

Implikta markörer skapas automatiskt och används av Oracle varje gång ett utvalt uttalande utfärdas. Om en implicit markör används, kommer databasstyrningssystemet (DBMS) att öppna, hämta och stänga operationer automatiskt. Implikta markörer bör endast användas med SQL-satser som returnerar en enda rad. Om SQL-satsen returnerar mer än en rad, kommer ett fel att användas med en implicit markör. En implicit markör är automatiskt associerad med varje DML-uppsats (Data Manipulation Language), nämligen INSERT, UPDATE och DELETE. En implicit markör används också för att bearbeta SELECT INTO-satser. När man hämtar data med hjälp av implicita markörer kan NO_DATA_FOUND undantas när SQL-satsen returnerar ingen data. Vidare kan implicita markörer höja TOO_MANY_ROWS-undantag när SQL-satsen returnerar mer än en rad.

Vad är Explicit Markör?

Som tidigare nämnts är explicit sökord definierade med ett namn. En tydlig markör kan betraktas som en pekare på en uppsättning poster och pekaren kan flyttas framåt inom uppsättningen av poster. Explicit cursors ger användaren fullständig kontroll över öppning, stängning och hämtning av data. Dessutom kan flera rader hämtas med en explicit markör. Explicit markörer kan också ta parametrar precis som vilken funktion som helst, så att variablerna i markören kan ändras varje gång den exekveras. Dessutom tillåter explicit cursorer att du hämtar en hel rad till en PL / SQL-rekordvariabel. När du använder en explicit markör måste du först deklarera med ett namn. Markörs attribut kan nås med namnet på markören. Efter att deklarerat måste markören öppnas först. Då kan hämtning startas. Om flera rader behöver hämtas måste hämtningsoperationen ske inom en slinga. Slutligen måste markören vara stängd.

Skillnad mellan Explicit Markör och Implicit Markör

Huvudskillnaden mellan implicit markör och explicit markör är att en explicit markör måste definieras explicit genom att ge ett namn medan implikta markörer automatiskt skapas när du utfärdar ett valda uttalande.Dessutom kan flera rader hämtas med hjälp av explicit markörer medan implicita markörer bara kan hämta en enda rad. Också NO_DATA_FOUND och TOO_MANY_ROWS undantag höjas inte när du använder explicit markörer, i motsats till implicita markörer. I själva verket är implicita markörer mer sårbara för datafel och ger mindre programmatisk kontroll än explicit markörer. Imponerande markörer anses också vara mindre effektiva än tydliga markörer.