Oracle
 sql >> база данни >  >> RDS >> Oracle

Обикновено SQL присвояване на променливи на Oracle

Вашата декларация за променлива е правилна.

ДЕКЛАРИРАНЕ ключовата дума се използва за дефиниране на променливи с обхват в PL/SQL блок (чието тяло е ограничено от BEGIN и END; ). Как искате да използвате тази променлива?

Следният PL/SQL работи добре за мен:

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;

Можете също да използвате DEFINE израз за използване на прости променливи за заместване на низове. Те са подходящи за клиент като SQL/PLUS или 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да промените приоритета за едновременна програма

  2. Как да премахна повтарящи се стойности на колони от отчета

  3. Oracle Database BLOB към InputStream в Java?

  4. Импортирайте Oracle UNION ALL View в Entity Framework EDMX

  5. Извличане на данни в рамките на период от време в Oracle