Oracle SQL

Stanzlinger

Lieutenant
Registriert
Sep. 2005
Beiträge
978
Hallo,

ich verstehe nicht, warum ich eine Fehlermeldung bekomme. ich baue mit VS 2015 und Oracle 11g eine Webseite.
Kann mir bitte jemand helfen?

1. Ich möchte eine Ausgabe auf 5 Zeilen beschränken - siehe Bild.

1.png

Meiner Meinung nach ist "Rownum" richtig, aber er sucht wohl immer eine Spalte , die so heißt....


2. Hier möchte ich, das nur die Zeilen aus Neu_Datum angezeigt werden, welche heute erstellt sind. Er mag aber weder getdate, Now(), sysdate ohne Uhrzeit....auch ein Like 22.10.15 mag er nicht

SELECT to_char(NEU_DATUM, 'DD.MM.YY') AS Datum, COUNT(*) AS PicsProTag
FROM PLHESO.PUTHOST
WHERE (ZUSTAND = 60) AND (SATZART = 'WEPOSQUIT') AND (getdate())
GROUP BY NEU_DATUM, SATZART
ORDER BY NEU_DATUM

Danke im vorraus
 
Kann ich am Handy leider nicht testen.
1. Versuch es so hinzubiegen, dass du keine "" hast bei Rownum. Z.b. select * tabelle where rownum <= 5

2. Select * from tabelle where trunc(datumsfeld) = trunc(sysdate)
 
Zuletzt bearbeitet:
Ich bin mir hinsichtlich Oracle nicht sicher. Wenn du allerdings nur zufällig 5 die ersten 5 Ergebnisse einer Abfrage anzeigen möchtest, dann sollte das mit SELECT TOP 5 perfekt funktionieren. Jedenfalls funktioniert dies problemlos mit SQL Server.
 
rambodieschen schrieb:
Kann ich am Handy leider nicht testen.
1. Versuch es so hinzubiegen, dass du keine "" hast bei Rownum. Z.b. select * tabelle where rownum <= 5

2. Select * from tabelle where trunc(datumsfeld) = trunc(sysdate)

Leider werden die "" bei rownum automatish gesetzt
 
Ich glaube VS hat Probleme mit bestimmten Wörtern..

Wenn ich im Oracle SQL Manager eingebe:

SELECT LFDNR, ZUSTAND, SATZART, TELEGRAMM, NEU_DATUM, NEU_ZEIT, NEU_USR, SENDE_DATUM, SENDE_ZEIT, LFD_BUCHUNG
FROM PLHESO.PUTHOST
WHERE (NEU_DATUM < "sysdate")

kommt eine richtige Ausgabe.


VS sagt nur ORA-00904: "Sysdate": ungültiger Bezeichner


Jemand eine Idee? Google half mir bisher nicht
 
Hi,

warum baust du die Webseite mit VS2015?
Schau dir Mal Oracle Apex an ;)

Gruß
Seppel
 
Hi,

wie schon erwähnt musst du deine query in eine subquery packen. siehe hier http://stackoverflow.com/questions/2498035/oracle-select-top-10-records

Bezüglich website entwickeln. ich würde dir auch apex ans herz legen, am anfang vl etwas eine umstellung aber es funktioniert sehr gut und ist bei jeder oracle db dabei. am besten gleich apex 5 nehmen

mfg
j0hnwayn3
 
Apex kann aber kein ASP.net und alles neu programmieren wollte ich nicht. Ich benötige ja auch die ganzen Chart Controls. Weiß denn keiner, warum sysdate, Rownum etc - also jeder Oracle Begriff nicht funktioniert?
 
Die Antwort steht ja schon, weil du die keywords in anführungszeichen hast.

Code:
select * from release where modification_date < sysdate;
select * from release where rownum < 2;
ok

Code:
select * from release where modification_date < "sysdate";

ORA-00904: "sysdate": invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
Error at Line: 4 Column: 48
 
Zurück
Oben