【发布时间】:2014-12-23 18:42:59
【问题描述】:
我有一个包含一些缺失数据的外汇汇率表。我有一个 from_ccy_code、to_ccy_code、fx_date 和 fx_rate 列。我要做的是 from_ccy_code = USD 和 to_ccy_code = EUR,如果该日期不存在记录,则插入一条记录(fx_rate 设置为 1)。 在这种情况下,除了要插入 fx_rate 的日期之外,所有其他值都是静态的。如果值不存在,我可以编写 SQL 来插入特定日期,但我需要在我的插入中动态日期。有人可以帮忙解决这个问题吗?
以下是我目前所拥有的。我知道这可能不是正确的语法,但一旦正确,这应该适用于设定日期。我不知道如何在这种情况下使日期动态化。
insert into fx_rates (from_ccy_code, to_ccy_code, fx_date, fx_rate)
select 'USD', 'EUR'
from dual
where not exists(select *
from fx_rates
where (from_ccy_code ='USD' and to_ccy_code ='EUR' and fx_date = '01-OCT-14'));
任何帮助将不胜感激。
【问题讨论】:
-
您的意思是要在单个语句中插入一个日期范围内所有缺失日期的记录吗?或者只是你想让你的固定日期成为一个参数?
-
我想为预定义日期范围内的所有缺失日期插入一条记录。如果可能的话,我想在一个声明中理想地做到这一点。