2016-05-17 18 views

Antwort

0

Ich vermute, dass Sie das Skript beabsichtigen, den Benutzer für die STRTDTE und ENDATE Werte (warum „DTE“ in ein und „DATE“ in der anderen, btw?) Aufzufordern.

Unter der Annahme, dass der Benutzer beiden Daten im aktuellen Standardformat eingibt, dann alles, was Sie brauchen, ist Du zu ändern, in dem Statement:

WHERE AAA_BBB.TR_DATE BETWEEN STARTDATE AND ENDDATE; 

Es könnte sicherer sein, aber nicht zu übernehmen, was das aktuelle Format und prompt tatsächlich für das Datum in einem bestimmten Format, dann speichern Sie die Antworten als Daten, das spezifische Format:

STARTDATE := TO_DATE('&&STRTDTE', 'YYYY/MM/DD'); 
ENDDATE := TO_DATE('&&ENDATE', 'YYYY/MM/DD'); 

oder was auch immer Format, das Sie mögen.

Beachten Sie auch die := statt =

+0

ICH FÜR SEIN UNCLEAR ENTSCHULDIGEN ABER AAA_BBB ist ein Tisch und TR_DATE IST COLUMN so, während dieses Skript leite ich INSIDE eine Reihe von Daten aus TABELLE AAA_BBB –

+0

Ja suchen wollen, ich habe das verstanden. Sie haben mehrere Syntaxprobleme in Ihrem PL/SQL, ausgenommen die Annahme über die Datumsformate: 1) umgeben Sie Ihre Spaltenreferenzen nicht mit Anführungszeichen wie Sie, 2) PL/SQL-Zuweisungsanweisungen verwenden ": =" statt " = ". –

+1

@kareemelwakil Schauen Sie nach links von Ihrem A-Schlüssel. Es sollte eine Schaltfläche namens Caps Lock geben. Bitte schalte es aus. – ArtOfCode

Verwandte Themen