Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Atribuição SQL de variável simples do Oracle


Sua declaração de variável está correta.

O DECLARAR a palavra-chaveéusada para definir variáveis ​​com escopo em um bloco PL/SQL (cujo corpo é delimitado por BEGIN e END; ). Como você quer usar essa variável?

O seguinte PL/SQL funciona bem para mim:
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;

Você também pode usar o DEFINE instrução para usar variáveis ​​de substituição de string simples. Eles são adequados para um cliente como SQL/PLUS ou TOAD.
DEFINE start_date = "to_date('03/11/2011', 'dd/mm/yyyy')"
SELECT COUNT(*) from my_table tab where tab.some_date < &start_date;