大家好!我有个问题想问一下`~
现在有一个存储过程(reports),里面有两个日期参数(Mindate,Maxdate).
问题是,我想实现不同界面的条件传到reports中,返回不同的结果.
例如:
情况是
一号界面:minyear 2009,minmonth 01;maxyear 2009,maxmonth 05 4个参数
二号界面:mindate 2009-01-01,maxdate 2009-05-01 2个参数
以上两个界面的参数分别传入同一个存储过程中,要求得到各自需要的内容!!
(也就是说当使用一号界面时,存储过程应传出2009年1月 至 2009年5月的数据
当使用二号界面时,存储过程应传出2009-01-01 至 2009-05-01 之间的数据
)reports(存储过程)
Mindate 参数
Maxdate 参数
select sysdate from dual
where sysdate?????? 到了这里就不会了!
现在有一个存储过程(reports),里面有两个日期参数(Mindate,Maxdate).
问题是,我想实现不同界面的条件传到reports中,返回不同的结果.
例如:
情况是
一号界面:minyear 2009,minmonth 01;maxyear 2009,maxmonth 05 4个参数
二号界面:mindate 2009-01-01,maxdate 2009-05-01 2个参数
以上两个界面的参数分别传入同一个存储过程中,要求得到各自需要的内容!!
(也就是说当使用一号界面时,存储过程应传出2009年1月 至 2009年5月的数据
当使用二号界面时,存储过程应传出2009-01-01 至 2009-05-01 之间的数据
)reports(存储过程)
Mindate 参数
Maxdate 参数
select sysdate from dual
where sysdate?????? 到了这里就不会了!
mindate in varchar2,
maxdate in varchar2,
minmonth in varchar2 default '00',
maxmonth in varchar2 default '00')
as 根据最后两个参数的值来判定输出哪种结果
Create or Replace Procedure Reports(MinDate date,
MaxDate date,
Tag int);
Tag=1表示从1号界面传入时间,当然要把minyear,minmonth,maxyear,maxmonth格式后传入;
Tag=2表示从2号界面传入时间。
简单的,可以设置一个调用类型参数,因为不知道你的具体逻辑,如下。
SQL codeCreate or Replace Procedure Reports(MinDate date,
MaxDate date,
Tag int);Tag=1表示从1号界面传入时间,当然要把minyear,minmonth,maxyear,maxmonth格式后传入;
Tag=2表示从2号界面传入时间。