我有一个变量 date_from 我可以在查询中使用:
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。
tnkciper1#
你不可能直接做你想做的事。另请注意,替换变量(使用 define 指挥和呼叫 & )是sqlplus概念;它们由客户机软件进行预处理(在您的例子中是sql developer,它理解并尊重大多数sqlplus,尽管不是全部)。不过,使用sql*plus选项几乎可以做到这一点 new_value 到 column 命令。它是这样的(没有测试,因为你没有提供样本数据):
define
&
new_value
column
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 ,数据库本身从未见过。
month_from
month_yyyymm
select
1条答案
按热度按时间tnkciper1#
你不可能直接做你想做的事。另请注意,替换变量(使用
define
指挥和呼叫&
)是sqlplus概念;它们由客户机软件进行预处理(在您的例子中是sql developer,它理解并尊重大多数sqlplus,尽管不是全部)。不过,使用sql*plus选项几乎可以做到这一点
new_value
到column
命令。它是这样的(没有测试,因为你没有提供样本数据):这是它-在这一点上的变量
month_from
存储month_yyyymm
由您的查询返回。注意,前两个命令是sql*plus(脚本)命令;只有最后一句话select
,数据库本身从未见过。