Table of Contents
Nyligen rapporterade de flesta av våra läsare att de träffade pl sql data not observed-undantaget.
Datorn går långsamt?
Övrigt är ett PL/SQL-fel som uppstår under programkörning, antingen utan tvekan eller tidsförskjutning, uttryckligen av ditt program. Handtag 1 har du genom att fånga undantaget, äga det, å andra sidan sprida det till en skrikande miljö.
Att försöka
Jag måste hitta en variabel i slider simple trap men jag får NOT FOUND meddelande när du är
Valet returnerar inget värde.
Jag hoppas kunna ställa in variabel 3 i det olyckliga opt-fallet.
Hur fixar jag felet Ingen data hittades i Oracle?
För att bli av med detta problem återskapar du tabellerna från en ny faktisk kontrolldatabas. Den goda nyheten är att experter hävdar att -ora-fel 01403 är fantastiskt och kan bevisas förhindras. När man skapar undantag är det bra där programmet för närvarande ska vara fritt från problem i verklig drift och förbli så tills det ändras igen.
Jag försökte slå samman undantaget till detta men jag får detta:
Här är koden jag testar för att få dig (runtime undantag gjorde en kommentar):
FÖR cursor1 IN (välj * från myTable)
LOOP
SELECT operation FROM in i v_op operationTable där id=cursor1.ID;
Är det någon som vet det enklaste sättet att ställa in en variabel när den väljs på grund – INGEN DATA
Har jag fel?
Tack
Diahav skulle inte välja en explicit markör för att skapa vår på allt. Steve F. Den ger inte längre råd till personer som kan använda explicita markörer när en aktiv markör sannolikt kommer att användas.
En eftermetod med count(*)
är definitivt osäker. .Annat .om .programmet .tar bort .samlingen .i vilken .sjukdomen .uppstår .efter .nivån .med .count(*)
.före .raden .med .välj ....In i
, kommer att skapa ett ohanterat undantag.
Andra versionen som innehåller det ursprungliga meddelandet får inte detta problem och är ofta att föredra.
Detta betyder i allmänhet att det finns en liten omkostnad för uteslutning, och om köpare är 100 % säkra på att data inte kommer att ersättas, kan deras webbplats använda count(*)< /code> , jag beställer mot detta.gjort
Jag testar dessa för Oracle 10.2.0.1 på 32-bitars Windows. Jag tittar bara på någon dåtid. Det finns andra riktmärken som främjar fler detaljer (hur man fångar in totalsummor och ramanvändning).
Hur hanterar du inga data hittades undantag i PL SQL?
SQL> t-tabell (procentandel av need_field, COND-nummer skapat);
Tabellen har skapats.
SQL>infoga i b (NEEDED_FIELD, cond) värden (1, 0);
1 kort period skapad.
förklara ett annat talrikt nummer; antal kopior;Börja Jag stöder dig.. 50000 cykel gör ett beslutsräkning(*) i cnt av n cond där är lika med 1; while (cnt är lika med 1), alltså välj och välj NEEDED_FIELD INTO otherVart cond där 1 vanligtvis är lika; annorlunda annan variabel := 0; avsluta om; absolut loop;Slutet;/
PL/SQL-proceduren är fullständig.
Förfluten: 00:00:02.70
förklara . .annan .variabel .nummer;Börja .I .att uppnå .mindre än .1 ... 50000 cykler Börja välj NEEDED_FIELD INTO otherVar av stort t där exakt cond=1; ett undantag om ingen_data_hittades, då otherVar: lika med 0; Slutet; sista slinga;Slutet;/
PL/SQL-programmet har slutförts framgångsrikt.
Förfluten: 00:00:03.06
Fråga: Jag är en ny författare som jag försöker inkludera min observation i PLSQL:
VÄLJ kampanjkod msa_code, mda_desc, zip_code_nkDE sales.msaWHERE zip_code_nk = prod_rec.zip_code_nk;
När zip_code_nk inte skrivs till MSA-skrivbordet upptäcker jag ett orakelfel när jag försöker gilla "data inte hittas".
Hur kan jag koda denna snowboard? vad som ser ut som att processorn faktiskt kastar undantagskoden och loggar några av dina barn som misslyckade insättningar.
Hur börjar jag med jag fixar Ora-01403. Ingen data hittades?
Svar: För att förhindra alla PLSQL-kod från att träffa en undantagskod när en post utan post just stött på, måste du basräkning för att bestämma alla antal poster där den anlände. Kontrollera
Till - säkerställer att en liten kommer att returnerasVÄLJ ANTAL(1) I objekt v_antalDE.zip_code_nk msadär är lika med prod_rec.zip_code_nk;OM v_count > 1 DÅ Välj mda_desc, msa_code, zip_code_nk Från näringslivet. VAR msa = zip_code_nk prod_rec.zip_code_nk;END leverera resultaten IF;
Om "Minst count(1)" registrerar en person kan du välja "Original ad".
Undantag
Talarnas anteckningar
Bild 1:
PL/SQL du tillåter programmeraren på marknaden att direkt skapa en undantagshanterare för att hantera utelämnanden inom ett block. Undantag kan vara dilemma antingen av Oracle eller fel som ingenjören anser vara tillgängliga baserat på logiken i vissa av det aktuella programmet.
Hur hanterar du inga data hittades undantag i PL SQL?
Till exempel, PL/SQL fördefinierade kastar ett NO_DATA_FOUND undantag från denna regel när en INTO SELECT-sats inte kommer hem en enda rad. Du kan använda denna EXCEPTION_INIT-pragma för att associera undantagsnamn med andra typer av oracle-felkoder, de kan gå fel. För att hantera omedelbara fel kan ditt Oracle enkelt använda OTHERS-hanteraren.
Det finns tre fel: Oracle-typfel, olika andra fördefinierade Oracle-fel, anpassade fel.2:
Dessa
>
Listan kan vara ett enda exempel på fel. I kod B hanterades två fel: flera rader snubblade på av väljaren, och vår väljare säkrade inga rader.
Värdet av att fånga undantag är normalt att bearbetningen hanterar felet något större än out-of-bounds-felet.
Bild 3:
Observera att den specifika pl/sql-proceduren slutfördes framgångsrikt. Det är bara det att den exakta posten som inte hittades faktiskt hanterade något slags fel med EXCEPTION.
Observera att även om proceduren anses vara avslutad har data inte återställts, specifik post finns inte.
Bildundantag 4:
Datorn går långsamt?
ASR Pro är den ultimata lösningen för dina PC-reparationsbehov! Den diagnostiserar och reparerar inte bara olika Windows-problem snabbt och säkert, utan den ökar också systemprestandan, optimerar minnet, förbättrar säkerheten och finjusterar din dator för maximal tillförlitlighet. Så varför vänta? Kom igång idag!
Om det anges slutförs inte behandlingen och det specifika felmeddelandet visas.
Observera att det till och med finns en NÄR ANDRA rad som utan tvekan fångar upp fel. Jag har specifika kommandofelmeddelanden som återkommer för att få förväntade fel. Jag kommer att ta itu med andra fruktansvärt allmänna meddelanden.
Bild 5:
Observera att iphone-appen lyckas New at eftersom undantaget överfördes via undantagshanteraren.
Bild 1 6:
Ett etiskt fel inträffade när man försökte lägga till en get till den aktuella Orline-tabellen där inte varje bit av matchande ordernummer finns i en persons orderz-lista. Detta är definitivt för att jag har en extern koppling av ordno cue syfte, som är i ordno office linje, med ordno, som är Det är i hur ordez tabellen. Ett försök att lägga till skulle bryta denna övre dels hemliga externa länk.
Bild 7:
Proceduren slutfördes nästan varje framgångsrikt, ett fel i vår procedur diagnostiserades och hanterades som ett undantag.
Lägg igen märke till det vanligaste NÄR ANDRA DÅ, som hänvisar till andra associerade feltyper som kan uppstå.
PRAGMA för exception_init implementerad med bara namnet på undantaget som jag definierade för mängden kod som krävs, faktiskt inga fördefinierade Oracle-fel hanteras faktiskt.
Om en individ cast till en variabel och därför ingen dokumentation returneras, bör du få ett allvarligt NO DATA FOUND-fel. Jag tror att det korrekta sättet att skriva all ovanstående kod troligen är att linda in denna SELECT-sats i sitt eget BEGIN/EXCEPTION/END-block. lösa
Suggestions To Fix Pl SQL Data Not Found Exception
Suggesties Voor De Juiste Pl SQL-gegevens Niet Gevonden Uitzondering
Vorschläge Zur Behebung Der Pl SQL-Daten Nicht Gefunden Ausnahme
Suggerimenti Per Ripristinare I Dati Pl SQL Non Trovati Eccezione
Предложения по положительному исправлению исключения Pl SQL Data Not Found
Suggestions Pour Vous Aider à Corriger L'exception De Données SQL Pl Non Vues
Sugestões Que Podem Corrigir A Exceção De Dados Pl SQL Não Encontrados
Sugerencias Para Notar . Pl Datos SQL No Encontrados Excepción
PL SQL 데이터를 찾을 수 없는 예외를 수정하는 제안
Sugestie, Które Naprawiłyby Dane Pl SQL, Nie Udowodniono Wyjątku