2012-05-09 13 views
5

Io uso il software SQuirreL SQL Client versione 3.2.1 e voglio dichiarare variabile comeCome definire/dichiarare ed utilizzare variabili client Squirrel SQL 3

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

E per usarlo nella mia query SQL come che

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

Ma non funziona. Come posso definire e utilizzare la variabile in SQuirreL.

+0

SQuirreL è un client, non il RDBMS effettivo. Che tipo di RDBMS stai chiamando? Cioè, la variabile sarà dichiarata nell'SQL che invii da SQuirreL all'RDBMS – gbn

+0

Sto chiamando un database Oracle. – BasicCoder

+1

Che messaggio di errore ricevi? La maschera di formato riporta "AAAA-MM-GG", mentre i valori costanti sono formattati "GG/MM/AAAA". Hai provato quel formato nella query? –

risposta

-1

Forse non proprio quello che vuoi, ma hai provato a caricare il plugin 'sqlparam'? Offre una sottostazione variabile, ad es.

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

Quando si esegue questa query, Squirrel richiederà i valori.

+0

Errore: ORA-01008: non tutte le variabili sono vincolate – BasicCoder

-1

"scoiattolo (proprio come Oracle di SQL-Plus) ha bisogno di sapere quando hai finito vostra procedura anonima. Questo di solito è fatto con l'aggiunta di una riga alla fine del procedimento con una barra sinlge (/) carattere. ad esempio:"

DECLARE 
v1 NUMBER(3); 

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

si prega di guardare qui: http://sourceforge.net/p/squirrel-sql/mailman/message/28580491/

Ora, quando si seleziona lo SQL tra cui la barra si sarà in grado di eseguire con Ctrl + Invio.

Problemi correlati