编程论坛's Archiver

dwt 发表于 2007-10-19 10:57

为什么这个判断不成立

为什么ch 无论输入什么值   else 的会运行呢????<br><br>declare <br> roll_no int;<br> name varchar2(10);<br> class varchar2(5);<br> subject1 number;<br> subject2 number;<br> subject3 number;<br> ch  int;<br> begin<br>   while 1=1 loop<br>    dbms_output.put_line('是否继续添加');<br>        ch:= &amp;ch;<br>    if ch&gt;1 then<br>            exit;<br>    else<br>        dbms_output.put_line('编号:');<br>        roll_no := &amp;roll_no;<br>        dbms_output.put_line('姓名:');<br>        name := '&amp;name';<br>        dbms_output.put_line('班级:');<br>        class:= '&amp;class';<br>        dbms_output.put_line('成绩1:');<br>        subject1 :=&amp;subject1;<br>        dbms_output.put_line('成绩2:');<br>        subject2 :=&amp;subject2;<br>        dbms_output.put_line('成绩3:');<br>        subject3 :=&amp;subject3;<br>    <br>    end if;<br><br>    insert into student values    (roll_no,name,class,subject1,subject2,subject3);<br>        <br>   end loop;<br>    dbms_output.put_line('通过');<br>   exception<br>    when others then<br>        dbms_output.put_line('异常');<br>end;<br><br>

ILoveMK 发表于 2007-10-19 12:33

<P>我测试过了没事,为什么你会说else一直都运行呢?[em05]</P>

dwt 发表于 2007-10-20 09:21

我写的时候  不管 ch 值为多少  else 都会执行啊 <br>

dwt 发表于 2007-10-20 09:26

我想用这样的方法实现循环添加值;<br>     当ch 的 输入的值小于1 时就退出;<br>

ILoveMK 发表于 2007-10-20 10:37

<DIV class=quote><B>以下是引用<U>dwt</U>在2007-10-20 9:21:09的发言:</B><br>我写的时候  不管 ch 值为多少  else 都会执行啊 <br></DIV>
<P>我的意思是你根据什么说else会执行,其实满足了ch&lt;1是不会执行的,我测试过了。</P>
[align=right][color=#000066][此贴子已经被作者于2007-10-20 10:37:58编辑过][/color][/align]


页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.