Oracle
 sql >> Database >  >> RDS >> Oracle

Semplice assegnazione SQL variabile Oracle

La tua dichiarazione di variabile è corretta.

Il DECLARE la parola chiave viene utilizzata per definire variabili con ambito in un blocco PL/SQL (il cui corpo è delimitato da BEGIN e END; ). Come vuoi usare questa variabile?

Il seguente PL/SQL funziona bene per me:

DECLARE 
    startDate DATE := to_date('03/11/2011', 'dd/mm/yyyy');
    reccount INTEGER;
BEGIN
    SELECT count(*) INTO reccount 
        FROM my_table tab 
        WHERE tab.somedate < startDate;
    dbms_output.put_line(reccount);
END;

Puoi anche utilizzare DEFINE istruzione per utilizzare semplici variabili di sostituzione di stringhe. Sono adatti per un client come SQL/PLUS o TOAD.

DEFINE start_date = "to_date('03/11/2011', 'dd/mm/yyyy')"
SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;