Edellisessä artikkelissani kerroin Oraclen yleisimmistä virheistä. Tässä artikkelissa yritän selittää toisen yleisimmän virheen, jota DBA:t ja kehittäjät ovat hakeneet noin 15000 kertaa kuukaudessa. Kun unohdat Oraclen select-lauseen todellisen syntaksin, tulee ORA-00936 missing expression -virhe. Työskennellessäni tietokantojen kanssa olen usein kohdannut ORA-00936: puuttuva lauseke ja kamppaillut tämän ongelman ratkaisemiseksi ja vianmääritykseksi. Tällainen virhe syntyy, kun käyttäjä unohtaa SQL-lausekkeen syntaksin.
ORA-00936: puuttuva lauseke on hyvin yleinen Oracle-virhe, joka on syntynyt Oracle-lausekkeen syntaksin vuoksi.
Miksi ORA-00936-virhe tulee?
Jotkut Oraclen virheet eivät ole läheskään niin pelottavia ratkaistavaksi, kuin virheilmoitus näyttäisi osoittavan. ORA-00936 on täydellinen esimerkki tällaisesta tapauksesta. Tämä virhe tarjoaa erinomaisen tapauksen, jossa vastauksen liiallinen miettiminen maksaa paljon enemmän aikaa ja vaivaa kuin on tarpeen.
Syy tähän virheeseen:
ORA-00936-viesti on Oraclen puuttuvan lausekkeen virhe. Tuo koko ”puuttuva lauseke” tarkoittaa sitä, että kun kyselyä yritettiin operoida, tekstistä on jäänyt pois tietty lausekkeen osa, joka on välttämätön sen toimimiseksi. Yksinkertaisesti sanottuna jätit pois tärkeän osan siitä, mitä yritit suorittaa. Tämä on yleisin virhe, joka tapahtuu SQL-lauseen syntaksin aikana. Jos käyttäjä ei ole kirjoittanut tai jättänyt jotain pois SQL-kyselyssä, tulee ’Missing Expression’ -virhe.
Missing Information in Select Statement:
Jos käyttäjä unohtaa kirjoittaa sarakkeet select-lauseeseen, tulee Missing Expression -virhe.
Esimerkki:
Select * from Employee;
Select from Employee; -Virhe puuttuvasta lausekkeesta tulee.
From-lauseke on jätetty pois:
Jos käyttäjä unohtaa kirjoittaa ’from-lausekkeen’ select-lausekkeessa, niin puuttuva lauseke -virhe tulee.
NO TIME TO READ CLICK HERE TO GET THIS ARTICLE
Esimerkki:
Select * from Employee;
Select * Employee; -Missing Expression error will come
Resolution of the error:
Kuten olen selittänyt, että Missing Expression -virhe syntyy ’Select-lauseen’ huonon syntaksin takia, käyttäjän on tarkistettava, että Select-lause on kirjoitettu oikein vai ei. Työskennellessään valtavien kyselyjen kanssa käyttäjän ei ole helppo selvittää, missä varsinainen virhe on. On siis tärkeää selvittää, mistä virhe johtuu.
Ratkaisu 1:
Käyttäjän on tarkistettava puuttuvat tiedot select-lauseesta. Useimmiten sarakkeiden nimet puuttuvat select-lauseesta.Käyttäjän on tarkistettava, että kaikki sarakkeet ovat select-lauseessa.Käyttäjän on tarkistettava sarakkeet desc-komennolla ja tehtävä muutokset select-lauseeseen.
Esimerkki :
Select from Employee;
Se laukaisee tämän virheen, joten käyttäjän on tarkistettava Employee-taulukon sarakkeet käyttämällä seuraavaa lauseketta:
Desc Employee;
Select Employee_Name,Employee_Number from Employee;
Ratkaisu 2 :
Add from-lausekkeen lisääminen select-lauseeseen
Käyttäjän on lisättävä ’From’-lauseke oikeaan kohtaan select-lauseessa.
Select * Employee;
Resolution Query :
Select * from Employee;
Tällaiset virheet ovat siis hyvin helposti ratkaistavissa, kunhan käyttäjän on vain keskityttävä select-lauseen syntaksiin.