日期:2014-05-17  浏览次数:20605 次

大神看看小弟的代码那里错了PL/SQL
create or replace procedure calc(sums out number) as
begin
      for i in 1..100 loop
      
             if (mod(i,2)=0) then
                sums:=sums+i;
               dbms_output.put_line(sums);
             end if;
       end loop;
       
end calc;

--调用过程
declare
 su number:=1;
begin
calc(su);
 dbms_output.put_line('asdas'||su);
end;


怎么不输出结果呀????
------解决方案--------------------
引用:
SQL code12345678910111213141516171819create or replace procedure calc(sums out number) asbegin      for i in 1..100 loop                    if (mod(i,2)=0) then                sums:=sums+……


set serveroutput on --打开输出选项,倘若为off,则put_line()就没有输出

------解决方案--------------------
引用:
引用:SQL code12345678910111213141516171819create or replace procedure calc(sums out number) asbegin      for i in 1..100 loop                    if (mod(i,2)=0) then  ……


这句话要放在哪里??我是新手,请说的直接点,谢谢
------解决方案--------------------
引用:
引用:引用:SQL code12345678910111213141516171819create or replace procedure calc(sums out number) asbegin      for i in 1..100 loop                   ……


你在sql*plus里面写吗,如果是,则直接在最外面就行了
------解决方案--------------------
引用:
引用:引用:SQL code12345678910111213141516171819create or replace procedure calc(sums out number) asbegin      for i in 1..100 loop                   ……

或者
在dbms_output.put_line('asdas'
------解决方案--------------------
su)
这句话上面
------解决方案--------------------
引用:
引用:引用:SQL code12345678910111213141516171819create or replace procedure calc(sums out number) asbegin      for i in 1..100 loop                   ……