您的位置:首页 > 数据库 > Oracle

【初识Oracle】⑦PL/SQL控制流程

2014-08-08 16:53 337 查看
--else if
DECLARE
sals NUMBER;
BEGIN
SELECT sal INTO sals FROM emp WHERE empno=&empno;
IF sals<2000 THEN
dbms_output.put_line('挣得不多,需努力');
ELSE
IF sals<5000 THEN
dbms_output.put_line('收入还可以,还需努力');
ELSE
dbms_output.put_line('挣得挺多了,歇歇吧');
END IF;
END IF;
END;

SELECT NULL+1 FROM dual;
SELECT NULL||1 FROM dual;

--if elsif  end if
--从键盘获取2个数,判断大小
DECLARE
v_num1 NUMBER;
v_num2 NUMBER;
BEGIN
v_num1:=&n1;
v_num2:=&n2;

IF v_num1>v_num2 THEN
dbms_output.put_line(v_num1||'>'||v_num2);
ELSE
dbms_output.put_line(v_num1||'<'||v_num2);
END IF;
--方式1
IF v_num1>5 THEN
dbms_output.put_line(v_num1||'>5');
ELSE
IF v_num1>3 THEN
dbms_output.put_line(v_num1||'>3');
END IF;
END IF;
--方式2
IF v_num1>5 THEN
dbms_output.put_line(v_num1||'>5');
ELSIF v_num1>3 THEN
dbms_output.put_line(v_num1||'>3');
END IF;
END;

-- CASE WHEN语句
DECLARE
v_grade CHAR(1):=UPPER('&grade');
v_result VARCHAR2(50);
BEGIN
CASE v_grade
WHEN 'A' THEN v_result:='相当的靠谱';
WHEN 'B' THEN v_result:='有点靠谱';
WHEN 'C' THEN v_result:='靠谱';
ELSE v_result:='相当的不靠谱';
END CASE;
dbms_output.put_line('你的成绩:'||v_result);
END;

--循环
--无条件循环
LOOP
EXIT WHEN
END LOOP;

--从1+2+....结果为10的时候退出循环
DECLARE
v_count NUMBER:=0;
i NUMBER:=1;
BEGIN
LOOP
v_count:=v_count+i;
i:=i+1;
EXIT WHEN v_count=10;
END LOOP;
dbms_output.put_line('i='||i);
dbms_output.put_line('v_count='||v_count);
END;

--while循环
WHILE <条件> LOOP

END LOOP;

DECLARE
v_count NUMBER:=0;
i NUMBER:=1;
BEGIN
WHILE v_count<10 LOOP
v_count:=v_count+i;
i:=i+1;
END LOOP;
dbms_output.put_line('i='||i);
dbms_output.put_line('v_count='||v_count);
END;

--for 循环
DECLARE
BEGIN
FOR i IN 1..10 LOOP
dbms_output.put_line('i='||i);
END LOOP;
END;

DECLARE
BEGIN
FOR i IN REVERSE 1..10 LOOP
dbms_output.put_line('i='||i);
END LOOP;
END;

--不建议使用goto语句
DECLARE
v_count NUMBER:=1;
BEGIN
LOOP
v_count:=v_count+1;
IF v_count>=10 THEN
GOTO end_loop;
END IF;
END LOOP;
<<end_loop>>
dbms_output.put_line('v_count='||v_count);
END;
不要忘记end if、end loop
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: