2013-05-16 2 views
0

Как и для языков программирования, можно ли создать временную переменную и определить ее значение? напримерКак создать временную переменную в запросе оракула базы данных?

String date = '12-MAY-12' 

Select COUNT (*) FROM TABLEX WHERE TABLE_DATE < DATE; 
+0

@paul, это возможно только, если выполняется в SQLPLUS –

+0

@paul, но мы не знаем, приложение, использующее op, так что для меня ответ отрицательный. Возможно, это поддерживается в некоторых приложениях (sqlplus, sql-разработчик ...), каждый из которых имеет свой собственный синтаксис для объявления констант –

+0

. Это будет разработчик oracle базы данных – user2389221

ответ

1

Ответ, это зависит.

Это зависит от используемой вами среды.

Например, Allround Automations PL/SQL Developer принимает знак & перед тем строка для переменных (значения них заданы во время выполнения запроса):

SELECT COUNT (*) 
FROM TABLEX 
WHERE TABLE_DATE < &DATE; 
+0

Я имел в виду '&', опечатку. – ZZa

1

Что вы после может быть легко достигнуто с помощью Oracle PL/SQL. Я предполагаю, что вы хотите, чтобы это использовало только SQL. Если это так, вот один из способов вы можете сделать это:

WITH 
    variable_table AS 
    (
    SELECT 
     to_date('12-MAY-2012') v_date 
    FROM 
     dual 
) 
SELECT 
    COUNT (*) 
FROM 
    TABLEX 
WHERE 
    TABLE_DATE < 
    (
    SELECT 
     v_date 
    FROM 
     variable_table 
) 

Я надеюсь, что это помогает

Смежные вопросы