您可以将查询的输出存储在Oracle SQL Developer的Global变量中吗?

问题描述 投票:0回答:1

我有一个返回单个日期的查询,我想将此日期存储在一个全局变量中,以便可以在其他地方使用。下面是返回单个日期的查询:

select distinct
    case when to_char(batchdate, 'd') between 1 and 6 then batchdate - to_char(batchdate, 'd') else  batchdate end edate
from table
where batchdate = (select max(batchdate) from table);

现在我正在尝试使用名为DEFINE的内置函数来声明全局变量。

DEFINE = (select distinct
    case when to_char(batchdate, 'd') between 1 and 6 then batchdate - to_char(batchdate, 'd') else  batchdate end edate
from table
where batchdate = (select max(batchdate) from table))

这将引发错误。

有什么方法可以将该查询的输出存储在全局变量中?

sql global-variables oracle-sqldeveloper
1个回答
0
投票

嗯,是的-有点。这是一个示例,其中包含您要放入SQL Developer的语句列表:

variable v_max_sal number;

exec select max(sal) into :v_max_sal from emp;

select ename from emp where sal = :v_max_sal;

如果您一个接一个地执行它们,直到最后一个提示您输入:v_max_sal变量的值(这不是您想要的值)之前,都可以。但是,如果您以script(最新版本中的F9键盘快捷键)执行最后一条语句(或-当我们在执行时-整个代码),则最终结果为预期。

看看是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.