sql >> Databasteknik >  >> RDS >> Oracle

Enkel Oracle-variabel SQL-tilldelning

Din variabeldeklaration är korrekt.

DECLARE nyckelord används för att definiera variabler omfångade i ett PL/SQL-block (vars kropp är avgränsad av BEGIN och END; ). Hur vill du använda denna variabel?

Följande PL/SQL fungerar bra för mig:

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;

Du kan också använda DEFINIERA för att använda enkla strängersättningsvariabler. De är lämpliga för en klient som SQL/PLUS eller TOAD.

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


  1. hur man använder sessioner och arrayer i en databasfråga för att lagra och visa data

  2. VBA-anropsfunktion via VBA och ADO

  3. Inkonsekvent MySQL DATEDIFF-beteende

  4. Hur man fixar 'java.lang.ClassNotFoundException:com.mysql.jdbc.Driver' efter att ha lagt till det i byggsökvägen och registrerats med Class.forName();