[ORACLE] order by clause werkt niet

Pagina: 1
Acties:
  • 325 views sinds 30-01-2008
  • Reageer

  • robbertb
  • Registratie: September 2000
  • Niet online
Ik heb een form gemaakt met een master-detail relatie. Nou wil ik in de master sorteren op meerdere kolommen. Dit gaat niet goed, ik krijg de foutmelding:
code:
1
FRM-40505: ORACLE fout- kan zoekvraag niet uitvoeren.

Ik heb ingevuld bij ordy by clause: FLIGHTNUMBER, SHEDULED_DATE, SHEDULED_TIME ASC
Ook als ik het rechtstreeks in de SQLcode typ bij het aanmaken van de database heb ik hetzelfde resultaat.

Zodra ik slechts op 1 kolom sorteer werkt het wel.

Verwijderd

Wat is je hele SQLquery dan?

  • robbertb
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op 07 mei 2004 @ 11:05:
Wat is je hele SQLquery dan?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
create table Flight (
  FlightID              NUMBER primary key,
  FlightNumber          VARCHAR2 ,
  Depart_From           VARCHAR2(3),
  Arrive_To             VARCHAR2(3),
  Scheduled_Date        DATE,
  Scheduled_Time        VARCHAR2(5),
  Equipment             NUMBER,
  Crew                  NUMBER,
  Remarks       LONG,
  foreign key (depart_from) references airport,
  foreign key (arrive_to)  references airport,
  foreign key (equipment) references aircraft,
  foreign key (crew) references flight_crew
);

Ik heb ook onderstaande code geprobeerd:
code:
1
  Order by FlightNumber, Scheduled_Date, scheduled_time ASC

Maar dit geeft dezelfde fout in oracle als wat ik probeerde in te vullen bij de "Order by Clause", wat ik zei in mijn FP.

  • whoami
  • Registratie: December 2000
  • Laatst online: 25-05 23:56
Wat heeft een CREATE TABLE met een query te maken? :? :?

En wat heeft een ORDER BY met een CREATE TABLE te maken :? :?

[ Voor 37% gewijzigd door whoami op 07-05-2004 11:10 ]

https://fgheysels.github.io/


  • robbertb
  • Registratie: September 2000
  • Niet online
whoami schreef op 07 mei 2004 @ 11:09:
Wat heeft een CREATE TABLE met een query te maken? :? :?

En wat heeft een ORDER BY met een CREATE TABLE te maken :? :?
idd in create table is dat beetje dom, het is nog vroeg :z
Maar in die order by clause zou het moeten werken toch.

  • whoami
  • Registratie: December 2000
  • Laatst online: 25-05 23:56
Waarom post je dan die create table als de query gevraagd wordt? Met die create table zijn we niks.
Of die order by moet werken, kan dus niet gezegd worden

https://fgheysels.github.io/


  • robbertb
  • Registratie: September 2000
  • Niet online
whoami schreef op 07 mei 2004 @ 11:12:
Waarom post je dan die create table als de query gevraagd wordt? Met die create table zijn we niks.
Of die order by moet werken, kan dus niet gezegd worden
Ja dat was een foutje, hij moet idd niet in die create table.
Ik heb het selectstatement gemaakt d.m.v. datablockwizzard dus heb niet echt zelf een script ervoor gemaakt.
Maar ik wil dus weten hoe die "order by clause" werkt, kan ik niet echt wat over vinden.

Verwijderd

robbertb schreef op 07 mei 2004 @ 11:12:
Maar in die order by clause zou het moeten werken toch.
Niet in combi met een table create.

  • whoami
  • Registratie: December 2000
  • Laatst online: 25-05 23:56
In de manual staat wel voldoende info over de ORDER BY lijkt me, maar als je het vertikt om de volledige query hier te posten kunnen we je ook niet helpen.

https://fgheysels.github.io/


  • robbertb
  • Registratie: September 2000
  • Niet online
Verwijderd schreef op 07 mei 2004 @ 11:16:
[...]

Niet in combi met een table create.
Nee dat snap ik, zoals ik al zei hoort die orderby code daar niet, dat was foutje
whoami schreef op 07 mei 2004 @ 11:16:
In de manual staat wel voldoende info over de ORDER BY lijkt me, maar als je het vertikt om de volledige query hier te posten kunnen we je ook niet helpen.
En naar aanleiding daarvan ingevuld wat ik in mijn firstpost zei. Ik vertik het niet om mijn volledige query te posten. Zoals ik al zei is die er niet en heb ik gewoon alle kolommen geselecteerd in de datablockwizzard. dus de query zal dan iets zijn van "SELECT * FROM FLIGHT".

Verwijderd

robbertb, logisch nadenken zegt mij:

- de "order by"-attributen zijn niet opgenomen in je select statement (met * werkt het wel en dat kun je testen op de database, mits de attribs in de tabel zitten)
- de ASC werkt niet en je zou het zonder kunnen proberen.
- wellicht heb je ORDER BY in je order by clausule staan, dit hoeft niet.
- misschien heb je met die wizard al een order by opgegeven of misschien kun je dat doen.

Verschillende mogelijkheden / oorzaken. We hebben gewoon meer info nodig. Welk programma gebruik je voor je project trouwens? Wat heb je wel geprobeerd en wat niet? welke sql statement gaf je toen je de foutmelding kreeg op SQL-niveau (via SQLplus oid).

Meer hulp = meer info

[ok, misschien kom ik wat vaderlijk over nu, maar da's niet de bedoeling, 't is vrijdag, vandaar]

Verwijderd

Doe es Shift-F1 na die foutmelding, krijg je vaak een block te zien met de query zoals ie uitgevoerd wordt. Dan kan je gerichter zoeken.

  • Danfoss
  • Registratie: Mei 2000
  • Laatst online: 25-05 21:40

Danfoss

Deze ruimte is te koop..

google is je beste vriend:
FRM-40505: ORACLE error: means that the SQL generated by forms is not
correct: columns that are marked as database are not table/view columns, the
order by, the where clause is not correct, etc. etc. Use the 'Show Error' in
the menu to view the SQL behind the query.

Sys Specs


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

In overleg heropend, er komt nu relevante informatie :)

[ Voor 83% gewijzigd door curry684 op 07-05-2004 11:54 ]

Professionele website nodig?


  • robbertb
  • Registratie: September 2000
  • Niet online
Ok we hebben de kans gekregen om het nog een keer te proberen dus hier maken we dan maar dankbaar gebruik van.. :)


We hebben een formulier aangemaakt mbv ORacle Forms builder 9. Op dit formulier staan een 8tal velden:

FlightID NUMBER primary key,
FlightNumber VARCHAR2(6),
Depart_From VARCHAR2(3),
Arrive_To VARCHAR2(3),
Scheduled_Date DATE,
Scheduled_Time VARCHAR2(5),
Equipment NUMBER,
Crew NUMBER,
Remarks LONG,

nu moeten we de data op dit formulier gaan sorteren op FlightNumber, Scheduled_Date en Scheduled_Time.

We hebben geprobeerd om in het propertie pallet van de datablock te sorteren met "Order By Clause". Dit gaat goed als we alleen op FlightNUmber sorteren maar zodra we op meer velden willen sorten geeft hij aan dat hij de zoekopdracht niet kan uitvoeren.

We hebben nu al de meest vreemde combinatie geprobeerd maar niks lijkt te werken. Ik heb begrepen dat als je normaal gesproken
"Select * from Flight ORder by FlightNumber, Scheduled_Date, Scheduled_Time ASC;" doet, dat dit in de ORderBY clause moet worden FlightNumber, Scheduled_Date, Scheduled_Time . Dus als scheidingsteken gewoon een komma. We hebben echt geen idee meer hoe we het nu wel moeten doen. Ik hoop dat we nu genoeg informatie hebben gegeven..

Oja en als jullie de query nodig hebben.. hoe kunnen we die opvragen van een datablock??

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Je moet eerst eens adviezen opvolgen.
Dus: shift-f1 als je die foutmelding krijgt.
Dan krijg je de query en zie je waarschijnlijk gelijk wat er mis is.

Who is John Galt?


  • robbertb
  • Registratie: September 2000
  • Niet online
justmental schreef op 07 mei 2004 @ 12:27:
Je moet eerst eens adviezen opvolgen.
Dus: shift-f1 als je die foutmelding krijgt.
Dan krijg je de query en zie je waarschijnlijk gelijk wat er mis is.
Als we dit doen krijgen we micorsoft internet explorer help...
"aan de slag met internet explorer"..

Dus hier hebben we niet veel aan.. misschien dat we het Shift-F1 op het verkeerde moment doen?
vervolgens hebben we op help foutweergeven geklikt... toen kregen we de volgende melding:
SELECT ROWID,FLIGHTID,FLIGHTNUMBER,DEPART_FROM,ARRIVE_TO,SCHEDULED_DATE,SCHEDULED_TIME,EQUIPMENT,CREW,REMARKS FROM FLIGHT order by FLIGHTNUMBER, SCHEDULED_DATE, SCHEDULED_TIME ASC;

Invalid Character


Vervolgens gingen we hem nog een keer runnen.. en nu doet hij het ineens wel!

heeft iemand enig idee hoe dit ineens mogelijk is? 8)7

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Die puntkomma zou ik daar niet verwachten, mogelijk heeft die hem zelf weggehaald.

Who is John Galt?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

justmental schreef op 07 mei 2004 @ 12:39:
Die puntkomma zou ik daar niet verwachten, mogelijk heeft die hem zelf weggehaald.
Sinds wanneer mag je een SQL-query niet meer afsluiten met een puntkomma? :?

Professionele website nodig?


  • cameodski
  • Registratie: Augustus 2002
  • Laatst online: 06-11-2023
Waarom staat er eigenlijk één keer ASC in je order by. Ik zou verwachten dat dat helemaal niet hoeft of alle drie de keren nodig is.

Never underestimate the power of


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

curry684 schreef op 07 mei 2004 @ 12:47:
[...]

Sinds wanneer mag je een SQL-query niet meer afsluiten met een puntkomma? :?
Normaal gesproken kan dat wel, maar dit is binnen een tool (forms).
Vergelijk het met een dynamische query, die sluit je ook niet af met een puntkomma.

Who is John Galt?


Verwijderd

justmental heeft gelijk, bij een EXECUTE IMMEDIATE krijg je dezelfde fout. Dynamic SQL :)

/me voor justmental

Overigens, Robbertb, als je nou ff gezegd had dat je met Webforms werkte, had ik je op die button kunnen wijzen ;) Nu ging ik er vanuit dat je client-server werkte. Ik denk dat het probleem is opgelost nu.

[ Voor 4% gewijzigd door Verwijderd op 07-05-2004 13:22 ]

Pagina: 1