oracle report builder 6i - 数据模型中的SQL查询代码

时间:2013-05-15 11:17:07

标签: oracle database-design report builder

我是Vijetha, 我正在研究报告6i&我很新。我有以下查询。

在front_end中,在“报告参数”中,当用户点击“运行”按钮时,它会要求START_DATE& END_DATE输入。

如果用户提供START_DATE& END_DATE或者不提供输入, 无论代码应该执行什么。 enter code here 1)如果用户给出start_date&结束日期 , 那么只应显示具有该特定给定日期的那些报告。 2)如果用户没有给出start_date& end_date,

然后必须显示所有日期的所有报告。

所以我必须使用2个select语句。他们是:

1)SELECT * FROM T1 WHERE TO_CHAR(DUE_DATE, 'MMYYYY') BETWEEN :START_DATE AND :END_DATE;

2)SELECT * FROM T1;

我想要类似下面的内容:

-

if start_date=null & end_date=null,
then SELECT * FROM T1;
else 
SELECT * FROM T1 WHERE TO_CHAR(DUE_DATE, 'MMYYYY') BETWEEN :START_DATE AND :END_DATE;
end if;

-

但上面的代码不起作用,因为数据模型中的SQL查询语句应该在select语句中编码,因此它必须在select语句中,如下所示:

-

select[
if start_date=null & end_date=null,
then SELECT * FROM T1;
else 
SELECT * FROM T1 WHERE TO_CHAR(DUE_DATE, 'MMYYYY') BETWEEN :START_DATE AND :END_DATE;
end if;
] from t1;

-


我试过NVL&解码,但它不适用于多个值。

请帮助我使用数据模型中的查询对话框(SQL查询语句)中的上述编码部分。

谢谢。

1 个答案:

答案 0 :(得分:0)

你没有在pl / sql变量中存储选定的值。我们知道我们需要在一个特定的变量中存储选定的值。你可以使用标量或记录类型变量来存储数据。