oracle存储过程基础入门(一)
1. 第一个存储过程:
1 create or replace procedure TEST(EMPNO1 IN NUMBER) -- 定义一个参数EMPNO1,用于输入需要涨钱的员工编号 2 AS 3 4 --定义一个变量保存涨前的薪水(两种方式都可以) 5 --PAR_SAL emp.sal%type; 6 PAR_SAL number; 7 BEGIN 8 9 --得到员工涨前的薪水 10 SELECT SAL INTO PAR_SAL FROM EMP where EMPNO=EMPNO1 ; 11 12 --给该员工涨100 13 UPDATE EMP SET SAL=SAL+100 WHERE EMPNO=EMPNO1; 14 DBMS_OUTPUT.PUT_LINE('前:'||PAR_SAL||'后:'||(PAR_SAL+100)); 15 END;
调用此存储过程,如果有参数,调用时写参数:
begin test (7369); end;
2. 判断从键盘输入的一个数值
1 --判断用户从键盘输入的数字。num为地址值,含义是:在该地址上保存了输入的值 2 accept num PROMPT '请输入一个数字'; 3 4 declare 5 --把键盘输入的数字赋值给pnum,num为地址值,所以加&符号 6 pnum number:=# 7 begin 8 if pnum=0 then dbms_output.put_line('输入的是数字0'); 9 elsif pnum=1 then dbms_output.put_line('数字0'); 10 else dbms_output.put_line('其他数字'); 11 end if; 12 end; 13 /
其中 if 循环的三种格式:
第一种: if 条件 then 语句1; 语句2; end if; 第二种: if 条件 then 语句序列1; else 语句序列2; end if; 第三种: if 条件 then 语句; elsif 语句 then 语句; else 语句; end if;
3. PL/SQL中循环语句的使用
如下三种循环语句,输出结果均为1-10的数字。
1 declare 2 pnum number :=1; 3 begin 4 while pnum <=10 loop 5 dbms_output.put_line(pnum); 6 pnum :=pnum+1; 7 end loop; 8 end; 9 /
1 declare 2 pnum number :=1; 3 begin 4 loop 5 exit when pnum >11; 6 dbms_output.put_line(pnum); 7 pnum :=pnum+1; 8 end loop; 9 end; 10 /
1 declare 2 pnum number :=1; 3 begin 4 for pnum in 1..10 loop 5 dbms_output.put_line(pnum); 6 end loop; 7 end; 8 /

浙公网安备 33010602011771号