函数转换
谁能把server 2000下写的函数转换成Oracle下的。谢谢!!
函数如下:
create function getstr
(
@stuid varchar(10)
)
returns varchar(1000)
as
begin
--declare @stuid varchar(10)
--set @stuid='1000'
declare @str varchar(1000)
set @str=''
select @str=@str+' '+address from address where stuid=@stuid
--select ltrim(@str)
return ltrim(@str)
end
问题点数:20、回复次数:6Top
1 楼linglanfeng(凌蓝风)回复于 2005-07-12 13:43:05 得分 1
create or replace function getstr(
Top
2 楼bzszp(SongZip)回复于 2005-07-12 13:45:12 得分 5
create or replace function getstr
(
stuid varchar
)
returns varchar
as
v_stuid varchar(10):='1000';
str varchar(1000):='';
begin
select ' '||address into str from address where stuid=v_stuid and rownum=1;
return trim(str);
end getstr;
/
Top
3 楼linglanfeng(凌蓝风)回复于 2005-07-12 13:48:01 得分 9
create or replace function getstr(
v_stuid in varchar2(10)
)return varchar2 is
lv_return_string varchar(1000);
begin
begin
select ADDRESS
into lv_retrun_string
from ADDRESS
where STUID = v_stuid ;
exception
when no_data_found then
lv_return_string := '';
end;
return lv_return_string;
end getstr;Top
4 楼linglanfeng(凌蓝风)回复于 2005-07-12 13:57:07 得分 0
这个地方错了
v_stuid in varchar2(10)
替换成
v_stuid in varchar2Top
5 楼njhart2003()回复于 2005-07-12 13:59:37 得分 5
create or replace function getstr(
v_stuid in varchar2
)
return varchar2
as
l_str varchar2(255) default '';
begin
for x in (select address from ADDRESS where STUID=v_stuid) loop
l_str:=l_str||' '||x.address;
end loop;
l_str:=ltrim(l_str);
return l_str;
end;
/
Top
6 楼goodliu269(2327496)回复于 2005-07-13 10:34:43 得分 0
upTop




