(我也是菜鸟)
declare
i varchar2(5) :='1' ;
j varchar2(10);
begin
j := 's'||i; 
select test into :j from atest;
end;

解决方案 »

  1.   

    declare
    type is t_sor ref cursor;
    v_sor t_sor;
    i varchar2(5) default '1' ;
    j varchar2(10);
    n varchar2(10);
    begin
    j := 's'||i; 
    open v_sor for 'select '||j||' test from atest';
    loop
    fetch v_sor into n;
    exit when v_sor%notfound;
    dbms_output.put_line(n);
    end loop;
    close v_sor;
    end;
    /
      

  2.   

    create or replace function test return varchar2
    is
    i varchar2(5) default '1' ;
    j varchar2(10);
    begin
    j := 's'||i;
    select test into j from atest;
    return j;
    end;创建好了函数,就可以取返回值了
    select test from dual;或者只看结果,不返回值
    set serverout ondeclare
    i varchar2(5) default '1' ;
    j varchar2(10);
    begin
    j := 's'||i;
    select test into j from atest;
    dbms_output.put_line('j='||j);
    end;但是还有一个问题,如果atest中有多条记录,会出错