end;
--输入一个数字,如果是1,显示一等奖,如果是2,显示二等奖,其它数字不中奖declare v_num number(4) := #begin if v_num = 1 then dbms_output.put_line('恭喜你中了一等奖!!'); elsif v_num = 2 then dbms_output.put_line('恭喜你中了二等奖!!'); else dbms_output.put_line('没有中奖!!'); end if; end; --从1打印到100declare v_num number :=0;begin loop v_num :=v_num+1; dbms_output.put_line(v_num); exit when v_num =100; end loop; end;
--从1打印到5
--第一种
declare v_num number := 1; begin while v_num<=5 loop dbms_output.put_line(v_num); v_num := v_num+1; end loop; end; -- 第二种 begin for i in 1..5 loop dbms_output.put_line(i); end loop; end; --从5打印到1 begin for i in reverse 1..5 loop dbms_output.put_line(i); end loop; end; --使用游标拿到员工的first_name,salary declare first_name zx.employees.first_name%type; salary zx.employees.salary%type; --1.定义游标 Cursor my_cursor is select first_name,salary from zx.employees; begin --2.打开游标 open my_cursor; --3.获取数据 fetch my_cursor into first_name,salary; dbms_output.put_line(first_name||salary); --4.关闭游标 close my_cursor; end; --使用循环拿到游标数据 declare first_name zx.employees.first_name%type; salary zx.employees.salary%type; --1.定义游标 Cursor my_cursor is select first_name,salary from zx.employees; begin --2.打开游标 open my_cursor; --3.获取数据 loop fetch my_cursor into first_name,salary; exit when my_cursor%notfound; dbms_output.put_line(first_name||' '||salary); end loop; --4.关闭游标 close my_cursor; end; --异常的捕获的写法 declare emp zx.employees%rowtype; begin select * into emp from zx.employees where employee_id = '100'; --异常开始捕获 exception when TOO_MANY_ROWS then dbms_output.put_line('行数太多,装不下'); when NO_DATA_FOUND then dbms_output.put_line('没有数据'); when OTHERS then dbms_output.put_line('其他异常'); end; --创建一个存储过程(拿到一个用户的名称) create or replace procedure getName(empId in number,firstName in out varchar) is begin select first_name into firstName from zx.employees where employee_id=empId; exception when OTHERS then dbms_output.put_line('你错了'); firstName := '无名'; end getName; --创建一个函数,返回两个数相加的结果 create or replace function num5(num1 in number,num2 in number) return number is Result number; begin return num1 + num2; return(Result); end num5;