1、首先动态创建临时表不会有记录。
2、该函数写错关键字。CREATE OR REPLACE function f_1(a in integer,b in integer,c in integer)
return integer is
v_int integer;
begin
--其中函数也要用到t_temp这个临时表,该如何操作?
--select row_no into v_int from t_temp where ....
end;建义,首先确保临时表有记录才能进行下去!

解决方案 »

  1.   

    因为你在创建function时,临时表还未建,所以在函数中必需使用动态SQL。CREATE OR REPLACE function f_1(a in integer,b in integer,in integer)
    return integer is
    v_int integer;
    l_sql varchar(100);
    begin
    --其中函数也要用到t_temp这个临时表,该如何操作?
    --select row_no into v_int from t_temp where ....   l_sql := ' select row_no from t_temp where ....';
       execute immediate l_sql into v_int;
       return v_int;
    end;
    /