5.while 循环
格式:
WHILE(判断循环的条件) LOOP 循环的语句 ; 循环条件的改变 ; END LOOP ;
使用此语句修改上面的程序:
DECLARE countNum NUMBER ; BEGIN --必须赋初值 countNum := 1 ; WHILE(countNum<10) LOOP DBMS_OUTPUT.put_line('countNum = '||countNum) ; countNum := countNum + 1 ; END LOOP ; END ;
此语句,是先判断,如果满足条件则继续执行循环体,执行结果到9结束循环
6.for 循环
格式: FOR 变量名称 in 变量的初始值..结束值 LOOP 循环语句 ; END LOOP ; 修改上例: DECLARE countNum NUMBER ; BEGIN FOR countNum IN 1..10 LOOP DBMS_OUTPUT.put_line('countNum = '||countNum) ; END LOOP ; END ;
此语句countNum大于等于1小于等于10,最后输出1-10
7.if语句
条件判断
格式:
IF 条件 THEN 满足条件时,执行此语句 END IF ;
例:
DECLARE countNum NUMBER ; BEGIN countNum := 11 ; IF countNum>10 THEN DBMS_OUTPUT.put_line('countNum = '||countNum) ; END IF ; END ;
条件语句,满足条件,执行一次
8.IF…ELSE 语句
如果 IF 满足了,则执行,否则执行 ELSE
例:
DECLARE countNum NUMBER ; BEGIN countNum := 1 ; IF countNum>10 THEN DBMS_OUTPUT.put_line('countNum = '||countNum) ; ELSE DBMS_OUTPUT.put_line('条件不不成立') ; END IF ; END ;
条件不满足执行else后面的语句
9.if…elsif…else 语句
例:
DECLARE countNum NUMBER ; BEGIN countNum := 1 ; IF countNum>10 THEN DBMS_OUTPUT.put_line('countNum = '||countNum); ELSIF countNum<5 THEN DBMS_OUTPUT.put_line('值小于 5'); ELSE DBMS_OUTPUT.put_line('条件不满足'); END IF ; END ;
多重判断语句,满足条件执行对应的跳转
10.goto语句
无条件跳转语句
用于程序控制非条件跳至指定标签<<???>>。不易控制和维护,慎用!
DECLARE eno emp.empno%TYPE ; sal emp.sal%TYPE ; BEGIN eno := &en ; SELECT sal INTO sal FROM emp WHERE empno=eno ; IF sal>3500 THEN goto po1 ; ELSIF sal>2000 THEN goto po2 ; ELSE goto po3 ; END IF; --标签 <<po1>> DBMS_OUTPUT.put_line('高工资。。。') ; <<po2>> DBMS_OUTPUT.put_line('中等工资。。') ; <<po3>> DBMS_OUTPUT.put_line('低工资。。。') ; END;
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!