2012-05-09 11 views
5

Ich verwende die Software SQuirreL SQL Client Version 3.2.1, und ich möchte Variable deklarieren, wieWie definieren/deklarieren und verwenden Variable in Squirrel SQL Client 3

define dateFrom = '13/04/2012'; 
define dateTo = '13/04/2012' 

Und es in meiner SQL-Abfrage zu verwenden, wie das

SELECT * FROM table_name WHERE TRUNC(column_name) BETWEEN to_date('&dateFrom','YYYY-MM-DD') AND to_date('&dateTo','YYYY-MM-DD'); 

Aber es funktioniert nicht. Wie kann ich Variable in SQuirreL definieren und verwenden?

+0

SQuirreL ist ein Client, nicht das eigentliche RDBMS. Welche RDBMS rufen Sie an? Das heißt, die Variable wird in der SQL deklariert, die Sie von SQuirreL an das RDBMS senden. – gbn

+0

Ich rufe eine Oracle-Datenbank an. – BasicCoder

+1

Welche Fehlermeldung erhalten Sie? Die Formatmaske liest 'JJJJ-MM-TT', während Ihre konstanten Werte 'TT/MM/JJJJ' formatiert sind. Haben Sie dieses Format in der Abfrage versucht? –

Antwort

-1

Vielleicht nicht ganz das, was Sie wollen, aber haben Sie versucht, Plugin 'sqlparam' zu laden? Es bietet variable Substitution, z.B.

SELECT * FROM table_name WHERE TRUNC(column_name) BETWEEN :dateFrom and :dataTo 

Bei der Ausführung dieser Abfrage Eichhörnchen für Werte fragen.

+0

Fehler: ORA-01008: nicht alle Variablen gebunden – BasicCoder

-1

„SQuirreL (wie Oracle SQL-Plus) muss wissen, wenn Sie Ihr anonymes Verfahren beendet haben. Das in der Regel erfolgt durch eine Linie am Ende der Prozedur mit einem sinlge Slash (/) Zeichen hinzufügen. zum Beispiel:“

DECLARE 
v1 NUMBER(3); 

BEGIN 
    v1 := 3; 
    select 1 from dual 
END; 
/

Bitte schauen Sie hier: http://sourceforge.net/p/squirrel-sql/mailman/message/28580491/

Nun, wenn Sie Ihre SQL einschließlich der slash wählen können Sie es mit Strg + Enter laufen.