sql—将变量定义为查询的结果

4sup72z8  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(241)

我有一个变量 date_from 我可以在查询中使用:

define date_from = '01.11.2019';

是否可以定义一个新变量作为查询的结果?以下语句无效:

define month_from = (select month_yyyymm from t_calendar where date_orig = '&date_from');

我使用的是oraclesqldeveloper,我不想进入pl/sql。

tnkciper

tnkciper1#

你不可能直接做你想做的事。另请注意,替换变量(使用 define 指挥和呼叫 & )是sqlplus概念;它们由客户机软件进行预处理(在您的例子中是sql developer,它理解并尊重大多数sqlplus,尽管不是全部)。
不过,使用sql*plus选项几乎可以做到这一点 new_valuecolumn 命令。它是这样的(没有测试,因为你没有提供样本数据):

define date_from = '01.11.2019'
column month_yyyymm new_value month_from
select month_yyyymm from t_calendar where date_orig = '&date_from';

这是它-在这一点上的变量 month_from 存储 month_yyyymm 由您的查询返回。注意,前两个命令是sql*plus(脚本)命令;只有最后一句话 select ,数据库本身从未见过。

相关问题