create or replace function rs_rsm_school(
hansvar,hanstable
)
return varchar(2000)
is
berbig varchar(2000);
begin
select berbig=berbig+','+ hansvar from hanstable
return(berbig);
end rs_rsm_school;帮我看看这儿哪儿错了hansvar是字段名,hanstable是表名,我就想在视图中把多条记录合成一个字段中,我菜鸟
oracle,toad

解决方案 »

  1.   

    create or replace function rs_rsm_school(
    hansvar in varchar,hanstable in varchar
    )
    return varchar2(2000)
    is
    berbig varchar2(2000);
    begin
    select berbig=berbig+','+ hansvar from hanstable
    return(berbig);
    end rs_rsm_school;
      

  2.   

    create function getstr(@handsvar varchar(100))
    returns varchar(8000)
    as
    begin
    declare @S varchar(8000)
    set @S = ''
    select @S = @S + ',' + SCHOOL from M_RSM_EDUCATION where RESUME_ID = @handsvar
    select @S = right(@S,len(@S)-1)
    return @S
    end
    go
    我顶,在SQL*Plus中老是提示编译错误,当然也查不出来,查询的时候提示无效,应该是没建起吧,我刚刚毕业,大学根本没深入到自定义函数这块,哪位大哥帮解决一下select getstr(1) as 结果 from M_RSM_EDUCATION 
      

  3.   

    create   or   replace   function   rs_rsm_school( 
    hansvar   in   varchar,hanstable   in   varchar 

    return   varchar2(2000) 
    is 
    berbig   varchar2(2000); 
    begin 
    select   berbig=berbig+',  hansvar'   from   hanstable 
    return(berbig); 
    end   rs_rsm_school;
      

  4.   

    create   function   getstr(@handsvar   varchar(100)) 
    returns   varchar(8000) 
    as 
    begin 
    declare   @S   varchar(8000) 
    set   @S   =   '' 
    select   @S   =   @S   +   ', SCHOOL'   from   M_RSM_EDUCATION   where   RESUME_ID   =   @handsvar 
    select   @S   =   right(@S,len(@S)-1) 
    return   @S 
    end 
    go 
      

  5.   

    in sqlsqlser the union string is '+',
    but in oracle the union should be '||'