Как использовать переменную в некотором операторе select с Oracle PL-SQL (или sql-plus) - PullRequest
0 голосов
/ 05 октября 2019

У меня есть несколько операторов выбора, все они должны использовать одну и ту же переменную. Поэтому я могу сначала определить переменную, а затем использовать ее непосредственно в следующем выражении, например:

declare variable;  -- a to_date function
select statement 1;
select statement 2;
select statement 3;
...

Поэтому, когда условия меняются, я могу просто изменить переменные. Как я могу сделать это, используя pl-sql (или sql-plus) в oracle?

1 Ответ

1 голос
/ 05 октября 2019

Вам нужна простая переменная sql * plus.

variable my_date varchar2(30)

exec :my_date := '01-oct-2019';

select * from t where date_col = to_date(:my_date,'dd-mon-yyyy');

-- other select statements

Этого также можно добиться с помощью переменной подстановки.

select * from t1 where date_col = to_date(&&my_date,'dd-mon-yyyy');

select * from t2 where date_col = to_date(&&my_date,'dd-mon-yyyy');

-- other select statements using &&my_date

Здесь oracle один раз запросит my_date (какмы использовали два &), и его значения будут использоваться во всех операторах выбора этого сеанса.

Cheers !!

...