sql >> Base de Datos >  >> RDS >> Oracle

Asignación de SQL de variable Oracle simple

Su declaración de variable es correcta.

El DECLARE La palabra clave se utiliza para definir variables en el ámbito de un bloque PL/SQL (cuyo cuerpo está delimitado por BEGIN y END; ). ¿Cómo quieres usar esta variable?

El siguiente PL/SQL funciona bien para mí:

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;

También puede usar el DEFINE instrucción para usar variables de sustitución de cadenas simples. Son adecuados para un cliente como 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;