现在函数有两个参数 一个是type_in(nvarchar2),startdate_in(nvarchar2)
根据两个参数拼凑成sql语句 然后返回sql语句执行的值.参数值:
type_in='D'
startdate_in=' startdate>=开始日期 and startdate<=结束日期 '
sql语句大概是:select sum(total) from 表 where type=type_in || startdate_in 请问返回这个值的函数怎么写?
根据两个参数拼凑成sql语句 然后返回sql语句执行的值.参数值:
type_in='D'
startdate_in=' startdate>=开始日期 and startdate<=结束日期 '
sql语句大概是:select sum(total) from 表 where type=type_in || startdate_in 请问返回这个值的函数怎么写?
解决方案 »
- ORACLE 新手求助 查询结果表按照分号分隔开并分组问题
- TNS 配置 SSL 连接方式后,连接不上,请问哪位知道怎么配置SSL连接方式??
- 关于oracle8i 客户端连接 oracle 9i的出错 ORA-03113
- oracle增加rbs问题,请教,谢谢
- 简单的用户授权问题~我是新手不知道为什么会失败;
- 在线等,急呀!!!(触发器问题)
- OCI 参数解释的问题
- ---------这个语句应该怎样写?请高手指教!---------
- 求助!
- 怎样用存储过程返回一可移动光标,在java里调用?
- SQL查询数据慢,求优化
- 在线等!修复 oracle11g sql developer不能启动故障。
create or replace function f_test(type_in in varchar2,startdate_in in varchar2)
return int is
i_num int;
begin
execute immediate 'select sum(total) from table where type='''||type_in||
''' and '||startdate_in into i_num;
return i_num;
end;
下面这句:select sum(total) from 表 where type=type_in || startdate_in
应该是这样的吧:
select sum(total) from 表 where type=type_in and startdate_in
对吧?
CREATE OR REPLACE FUNCTION get_sql(type_in VARCHAR2,startdate_in VARCHAR2)
RETURN NUMBER IS res NUMBER(10,2);
BEGIN
out_sql:='select sum(total) from tab where type ='||type_in||' and '|| startdate_in;
EXECUTE IMMEDIATE out_sql INTO res;
RETURN res;
END