Huis Persoonlijke financiën Omgaan met SQL-condities - dummies

Omgaan met SQL-condities - dummies

Inhoudsopgave:

Video: Excel VBA IF THEN Statement (with ELSEIF & Looping in cells) 2024

Video: Excel VBA IF THEN Statement (with ELSEIF & Looping in cells) 2024
Anonim

U kunt uw programma laten kijken naar SQLSTATE na de uitvoering van elke SQL-instructie. Er zijn verschillende mogelijkheden voor wat u vervolgens zou kunnen doen. Wat doe je met de kennis die je opdoet?

  • Als u een klassencode van 00 vindt, wilt u waarschijnlijk niets doen. U wilt dat de uitvoering doorgaat zoals u oorspronkelijk gepland had.

  • Als u een klassencode van 01 of 02 vindt, wilt u misschien speciale actie ondernemen. Als u de indicatie "Waarschuwing" of "Niet gevonden" verwacht, wilt u waarschijnlijk de uitvoering laten doorgaan. Als u geen van deze klassencodes had verwacht, wilt u waarschijnlijk een uitvoerende tak hebben van een procedure die specifiek is ontworpen om het onverwachte, maar niet geheel onverwachte, waarschu- welijke of niet gevonden resultaat te behandelen.

  • Als u een andere klascode ontvangt, is er iets mis. U moet vertakken naar een procedure voor het afhandelen van uitzonderingen. Welke procedure u kiest om te vertakken, hangt af van de inhoud van de drie subklasse-tekens, evenals de twee klasse-tekens van SQLSTATE. Als er meerdere verschillende uitzonderingen mogelijk zijn, moet er een uitzonderingsafhandelingsprocedure voor elk zijn, omdat verschillende uitzonderingen vaak verschillende antwoorden vereisen.

    U kunt mogelijk enkele fouten corrigeren of oplossingen vinden. Andere fouten kunnen fataal zijn; niemand zal sterven, maar het kan zijn dat je de applicatie moet beëindigen.

Afhandelingsverklaringen

U kunt een voorwaardehandler in een samengestelde instructie plaatsen. Als u een voorwaarde-handler wilt maken, moet u eerst de voorwaarde declareren die hiermee wordt afgehandeld. De aangegeven toestand kan een soort uitzondering zijn, of het kan gewoon iets zijn dat waar is. Hier zijn enkele mogelijke voorwaarden.

Voorwaarde Beschrijving
SQLSTATE VALUE

'xxyyy'

Specifieke SQLSTATE-waarde
SQLEXCEPTION SQLSTATE-klasse anders dan 00, 01 of 02 > SQLWARNING
SQLSTATE-klasse 01 NIET GEVONDEN
SQLSTATE-klasse 02 Het volgende is een voorbeeld van een toestandsaangifte:

BEGIN DECLARE constraint_violation VOORWAARDE VOOR SQLSTATE VALUE '23000'; EINDE;

Dit voorbeeld is niet realistisch, omdat meestal de SQL-instructie die ertoe kan leiden dat de voorwaarde optreedt - en ook de handler die wordt aangeroepen als de voorwaarde is opgetreden - ook wordt ingesloten in de BEGIN … END-structuur.

Handleracties en handlereffecten

Als er een voorwaarde optreedt die een handler oproept, wordt de actie uitgevoerd die door de handler is opgegeven. Deze actie is een SQL-instructie, die een samengestelde instructie kan zijn. Als de handleractie met succes is voltooid, wordt het handlereffect uitgevoerd.Het volgende is een lijst met de drie mogelijke afhandelaarseffecten:

DOORGAAN: Ga door met de uitvoering direct na de instructie die heeft veroorzaakt dat de afhandelingsroutine is aangeroepen.

  • EXIT: ga door met uitvoeren na de samengestelde instructie die de handler bevat.
  • UNDO: maak het werk van de eerdere instructies in de samengestelde instructie ongedaan en vervolg de uitvoering na de instructie die de handler bevat.

  • Als de handler welk probleem dan ook dat door de handler is aangeroepen, kan corrigeren, kan het CONTINUE-effect geschikt zijn. Het EXIT-effect kan geschikt zijn als de handler het probleem niet heeft opgelost, maar de wijzigingen in de samengestelde instructie hoeven niet ongedaan te worden gemaakt. Het UNDO-effect is geschikt als u de database wilt terugzetten naar de staat waarin deze zich bevond voordat de samengestelde instructie werd uitgevoerd.

Bekijk het volgende voorbeeld:

BEGIN ATOMIC DECLARE constraint_violation VOORWAARDE VOOR SQLSTATE VALUE '23000'; VERKLAAR EEN ONDO-HANDELAAR VOOR BEPERKING VAN BEWEGING RESIGNAL; REPLACE INTO students (StudentID, Fname, Lname) VALUES (: sid,: sfname,: slname); INVOEGEN in rooster (ClassID, Class, StudentID) VALUES (: cid,: cname,: sid); EINDE;

Als een van de INSERT-instructies een beperkende overtreding veroorzaakt, zoals het proberen een record toe te voegen met een primaire sleutel die al een primaire sleutel dupliceert die al in de tabel voorkomt, neemt SQLSTATE de waarde '23000' aan, waardoor de beperkingsvoorwaarde wordt ingesteld op een echte waarde.

Deze actie zorgt ervoor dat de handler UNDO alle wijzigingen aanbrengt die in een van de tabellen zijn aangebracht door een INSERT-opdracht. De RESIGNAL-instructie draagt ​​de controle over naar de procedure die de momenteel uitgevoerde procedure opriep.

Als beide INSERT-instructies met succes worden uitgevoerd, wordt de uitvoering voortgezet met de instructie na het trefwoord END.

Het ATOMIC-sleutelwoord is verplicht als het effect van een handler UNDO is. Dit is niet het geval voor handlers waarvan het effect CONTINUE of EXIT is.

Omgaan met SQL-condities - dummies

Bewerkers keuze

Key Taoists in History - dummies

Key Taoists in History - dummies

De oorsprong van het taoïsme reikt terug tot het prehistorische China, en heeft een sterke invloed gehad over de Chinese cultuur in de loop van zijn geschiedenis. De volgende mensen vormden het Taoïsme in de tijd en maakten het tot wat het nu is: Lao Tzu: Lao Tzu is de traditionele & ldquo; oprichter & rdquo; van het taoïsme en de befaamde auteur van de Tao Te Ching. ...

Woorden die worden gebruikt om religieuze twijfel te beschrijven en te labelen - dummies

Woorden die worden gebruikt om religieuze twijfel te beschrijven en te labelen - dummies

Atheïsme en andere soorten religieuze twijfel zijn verworden a-blok met labels en voorwaarden. Sommige zijn belangrijker dan andere; sommige zijn neutraal of positief; anderen worden gebruikt (zelfs door atheïsten) als putdowns. De volgende lijst bevat alle belangrijke labels: goed, slecht en lelijk. Atheist: Gelooft niet dat er een god of goden bestaat. Agnostisch: ...

Basisbeginselen van tools voor het bewerken van mobiele foto's voor visuele sociale marketing - dummies

Basisbeginselen van tools voor het bewerken van mobiele foto's voor visuele sociale marketing - dummies

Met meer en meer mensen gebruikmakend van hun smartphones om foto's te maken voor visuele sociale marketing, is het niet verrassend dat veel toepassingen voor het bewerken van mobiele telefoons beschikbaar zijn. Dit zijn de voordelen van het gebruik van mobiele bewerkings-apps: ze zijn meestal gemakkelijk te gebruiken. Ze kosten meestal minder dan $ 5. Ze hebben unieke filters en bewerken ...

Bewerkers keuze

Hoe u metrics vermijdt met uw website Analytics-gegevens - dummies

Hoe u metrics vermijdt met uw website Analytics-gegevens - dummies

U kunt zich afvragen hoe ter wereld je fouten kunt maken met gegevens die in nette rapporten en grafieken aan je worden geleverd. Social media-metricservices doen er alles aan om alle en alle gegevens die u hen opgeeft, te verzamelen. Er zijn veel valkuilen voor statistieken. U kunt eenvoudig ...

Hoe codes en patronen voor sociale media te ontcijferen - dummies

Hoe codes en patronen voor sociale media te ontcijferen - dummies

Terwijl u uw sociale netwerk volgt media-metrieken in de loop van de tijd en beginnen met het gebruik van enkele van de volgende laag-hulpmiddelen, zoals segmentatie en dayparting, om uw online en sociale interactie te analyseren, het is belangrijk om uw oog te houden op patronen van gebruik, interesse en betrokkenheid en de geheime codes uw bezoekers en fans / volgers sturen ...

Hoe u uw Klout-account verwijdert - dummies

Hoe u uw Klout-account verwijdert - dummies

Als u besluit dat u niet langer wenst deel te nemen aan Klout, je kunt je volledig afmelden door naar de opt-outpagina op Klout te gaan. com. Omdat Klout openbare informatie gebruikt die van het internet is gehaald, kan het zijn dat er al wat gegevens voor u zijn opgeslagen, zelfs als u zich niet voor Klout hebt aangemeld. Of u nu wel of niet ...

Bewerkers keuze

Het tabblad Lettertype gebruiken in Word 2007 - dummies

Het tabblad Lettertype gebruiken in Word 2007 - dummies

Het tabblad Lettertype in het lettertype Word 2007 Het dialoogvenster bevat veel opdrachten voor het opmaken van tekst, waaronder enkele die u niet kunt openen via de groep Lettertype op het tabblad Start. U kunt bijvoorbeeld ook effecten zoals schaduwen en embossing toevoegen en een voorbeeld van de resultaten bekijken voordat u ze toepast. Roep het dialoogvenster Lettertype op. ...

Hoe u de opdracht Go To gebruikt in Word 2007 - dummies

Hoe u de opdracht Go To gebruikt in Word 2007 - dummies

Gebruikt u de opdracht Ga naar in Word 2007 om de invoegwijzer naar een specifieke pagina of regel te sturen of naar de locatie van een aantal interessante dingen die Word mogelijk in uw document kan invoegen.

Hoe de opdracht Ga naar Commando te gebruiken in Word 2016 - dummies

Hoe de opdracht Ga naar Commando te gebruiken in Word 2016 - dummies

U om de invoegwijzer naar een specifieke pagina of regel te sturen of naar de locatie van een aantal interessante items die Word mogelijk in uw document kan proppen. De opdracht Ga naar is je tekstverwerkende teleporter naar elke willekeurige locatie. Ga als volgt te werk om de opdracht Ga naar te gebruiken: ...