create or replace function xyz return long is
Result long;
begin
SELECT EXP_CODE FROM EXP_STOCK_BALANCE;(这条报错,去掉就正常)
Result:=1;
return(Result);
end xyz;报错如下:Compilation errors for FUNCTION SYSTEM.XYZError: PLS-00428: an INTO clause is expected in this SELECT statement
Line: 4
Text: SELECT EXP_CODE FROM EXP_STOCK_BALANCE;
Result long;
begin
SELECT EXP_CODE FROM EXP_STOCK_BALANCE;(这条报错,去掉就正常)
Result:=1;
return(Result);
end xyz;报错如下:Compilation errors for FUNCTION SYSTEM.XYZError: PLS-00428: an INTO clause is expected in this SELECT statement
Line: 4
Text: SELECT EXP_CODE FROM EXP_STOCK_BALANCE;
create or replace function xyz return long is
Result long;
v_exp_code EXP_STOCK_BALANCE.EXP_CODE%type; --声明一个变量
begin
SELECT EXP_CODE INTO v_exp_code FROM EXP_STOCK_BALANCE;
Result:=1;
return(Result);
end xyz;
如果要有多行数据可以限制返回的行数SELECT EXP_CODE INTO v_exp_code FROM EXP_STOCK_BALANCE where rownum<2;
--使用rownum限制只返回一行。
如果我要把函数的result显示出来怎么弄呢?因为在pl/sql dvp中new 一个 sql windows 就可以显示出select 语句
直接test这个function 画面下面就会显示结果了·
select xyz from dual;你可以在sql window或command windows都可以
不知道是不是我PL Devp 版本太低了
create or replace function xyz return long is
Result long;
v_exp_code EXP_STOCK_BALANCE.EXP_CODE%type; --声明一个变量
begin
SELECT EXP_CODE INTO v_exp_code FROM EXP_STOCK_BALANCE where rowNum = 1;
Result:=1;
dbms_output.put_line(v_exp_code); --打印在这里
return(Result);
end xyz;