菜鸟问,怎么执行这个函数取得返回值?
函数在包guide_day_value2里
create or replace package body guide_day_value2 is
function GUIDE_DAY_VALUE(day in varchar2) return varchar2
as
--C_daiy_user VARCHAR2(256);
--G_daiy_user VARCHAR2(256);
--C_month_user VARCHAR2(256);
--G_month_user VARCHAR2(256);
C_daiynew_user VARCHAR2(256);
G_daiynew_user VARCHAR2(256);
C_monthnew_user VARCHAR2(256);
G_monthnew_user VARCHAR2(256);
C_daiyleave_user VARCHAR2(256);
G_daiyleave_user VARCHAR2(256);
C_monthleave_user VARCHAR2(256);
G_monthleave_user VARCHAR2(256);
C_daiy_userpackages varchar2(512);
--S_MONTH VARCHAR2(30);
begin
-- S_MONTH:=substr(day,1,4);
/* select guide_value
into C_daiy_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010101'
and GUIDE_DATE=day and AREA_ID ='AA';
select guide_value
into G_daiy_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010102'
and GUIDE_DATE=day and AREA_ID ='AA' ;
select guide_value
into C_month_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010201'
and GUIDE_DATE=day and AREA_ID ='AA' ;
select guide_value
into G_month_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010202'
and GUIDE_DATE=day and AREA_ID ='AA' ;
*/
select guide_value
into C_daiynew_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010301'
and GUIDE_DATE=day and AREA_ID ='AA';
select guide_value
into G_daiynew_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010302'
and GUIDE_DATE=day and AREA_ID ='AA' ;
select guide_value
into C_monthnew_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010401'
and GUIDE_DATE=day and AREA_ID ='AA' ;
select guide_value
into G_monthnew_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010402'
and GUIDE_DATE=day and AREA_ID ='AA' ;
select guide_value
into C_daiyleave_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010501'
and GUIDE_DATE=day and AREA_ID ='AA';
select guide_value
into G_daiyleave_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010502'
and GUIDE_DATE=day and AREA_ID ='AA' ;
select guide_value
into C_monthleave_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010601'
and GUIDE_DATE=day and AREA_ID ='AA' ;
select guide_value
into G_monthleave_user
from PORTAL_GUIDE_DAY_VALUE
where DETAIL_ID='010602'
and GUIDE_DATE=day and AREA_ID ='AA' ;
C_daiy_userpackages:= /*'当日活动用户数C网'||C_daiy_user||'万人'
||'当日活动用户数G网'||G_daiy_user||'人'
||'当月活动用户数C网'||C_month_user||'人'
||'当月活动用户数G网'||G_month_user||'人'*/
'当日新发展用户C网'||C_daiynew_user||'人,'
||'G网'||G_daiynew_user||'人;'
||'离网用户C网'||C_daiyleave_user||'人,'
||'G网'||G_daiyleave_user||'人;'
||'当月累计新发展用户C网'||C_monthnew_user||'人,'
||'G网'||G_monthnew_user||'人;'
||'离网用户C网'||C_monthleave_user||'人,'
||'G网'||G_monthleave_user||'人';
-- DBMS_OUTPUT.put_line(C_daiy_userpackages);
return TRIM(C_daiy_userpackages);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
end;
end guide_day_value2;
问题点数:25、回复次数:6Top
1 楼ffww77(ffww77)回复于 2005-01-25 10:12:49 得分 0
select guide_day_value2.GUIDE_DAY_VALUE(day in varchar2) into v_return from dual;
select 包名.函数名(函数参数) into 变量 from dual;Top
2 楼jiangchuandong(岁月的流逝......)回复于 2005-01-25 10:32:05 得分 0
我这函数没有返回值是不是写错了return的地方?Top
3 楼playmud((猪头流氓)(抵制日货)(热烈庆祝火箭输球))回复于 2005-01-25 10:47:21 得分 2
最后returnTop
4 楼jiangchuandong(岁月的流逝......)回复于 2005-01-25 11:07:05 得分 0
我执行
declare v_bind varchar2(512);
begin
common_pkg.SMS_SEND('13002383193',guide_day_value2.GUIDE_DAY_VALUE('20041201')) ;
end;
提示函数未有返回值Top
5 楼ffww77(ffww77)回复于 2005-01-25 11:43:46 得分 23
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLERRM);
改为
EXCEPTION
WHEN OTHERS THEN
RETURN C_daiy_userpackages
Top
6 楼beckhambobo(beckham)回复于 2005-01-26 10:11:19 得分 0
包体内少了begin ... end;
一般在包头内定义函数,在包体内写实现功能Top




