根据 sql 文件中的日期执行两个不同的查询

Execute two different queries based on date from an sql file

我想根据 sql 文件中的日期执行两个不同的查询。

假设我有两个合并查询,合并查询 1,合并查询 2。

最重要的是,这必须在 sql 文件中,并且 运行 来自使用 sqlplus 的脚本。

条件是这样的,

如果当前日期是“4 月 1 日” 执行合并查询 1 对于所有其他日期 执行合并查询 2

我想避免使用存储过程。这是在 Oracle

sqlplus 不提供流控制(如 IF 语句),因此最干净的选择是在 SQL 脚本中使用 pl/sql 块。不是存储过程只是将整个逻辑嵌入到匿名 pl/sql 块

DECLARE

...

BEGIN

END;

/

您将当前日期选择到变量中。

SELECT TO_CHAR(sysdate, 'YYYY-MM-DD') INTO some_var FROM DUAL

并在常规 IF 语句内执行查询。