| 
                         作者:peace.zhao  关于 游标 if,for 的例子  create or replace procedure peace_if  is  cursor var_c is select  from grade;  begin  for temp in var_c loop  if temp.course_name = 'OS' then  dbms_output.put_line('Stu_name = '||temp.stu_name);  elsif temp.course_name = 'DB' then  dbms_output.put_line('DB');  else  dbms_output.put_line('feng la feng la ');  end if;  end loop;  end;  ---关于游标 for,case 的例子1  create or replace procedure peace_case1  is  cursor var_c is select  from test_case;  begin  for temp in var_c loop  case temp.vol  when 1 then  dbms_output.put_line('haha1');  when 2 then  dbms_output.put_line('haha2');  when 3 then  dbms_output.put_line('haha3');  when 4 then  dbms_output.put_line('haha4');  else  dbms_output.put_line('qita');  end case ;  end loop;  end;  ---关于游标 for,case 的例子2  create or replace procedure peace_case2  is  cursor var_c is select  from test_case;  begin  for temp in var_c loop  case  when temp.vol=1 then  dbms_output.put_line('haha1');  when temp.vol=2 then  dbms_output.put_line('haha2');  when temp.vol=3 then  dbms_output.put_line('haha3');  when temp.vol=4 then  dbms_output.put_line('haha4');  else  dbms_output.put_line('qita');  end case ;  end loop;  end;  ---关于for 循环的例子  create or replace procedure peace_for  is  sum1 number :=0;  temp varchar2(500);  begin  for i in 1..9 loop  temp := '';  for j in 1 .. i  loop  sum1 := i  j;  temp := temp||to_char(i) || '  ' ||to_char(j) ||' = ' ||to_char(sum1) ||' ';  end loop;  dbms_output.put_line(temp );  end loop;  end;  ---关于 loop循环的例子  create or replace procedure peace_loop  is  sum1 number := 0;  temp number :=0 ;  begin  loop  exit when temp >= 10 ;  sum1 := sum1+temp;  temp := temp +1;  end loop;  dbms_output.put_line(sum1 );  end; ---关于游标和loop循环的例子  create or replace procedure loop_cur  is  stu_name varchar2(100);  course_name varchar2(100);  cursor var_cur is select  from grade ;  begin  open var_cur;  loop  fetch var_cur into stu_name,course_name;  exit when var_cur%notfound;  dbms_output.put_line(stu_name|| course_name);  end loop;  close var_cur;  end;  ---关于异常处理的例子  create or replace procedure peace_exp(in1 in varchar2)  is  c_n varchar2(100);  begin  select course_name into c_n from grade where stu_name = in1;  dbms_output.put_line(c_n);  exception  when no_data_found  then  dbms_output.put_line('try');  when TOO_MANY_ROWS  then  dbms_output.put_line('more');  end; ---关于异常处理的例子2  create or replace procedure peace_insert ( c_n in varchar2)  is  error EXCEPTION;  begin  if c_n = 'OK'  then  insert into course (course_name) values (c_n);  elsif c_n = 'NG' then  insert into course (course_name) values (c_n);  raise error;  else  Dbms_Output.put_line('c_n' || c_n);  end if;  commit;  exception  when error then  rollback;  Dbms_Output.put_line('ERRO');  end;  ---关于包的例子 定义包  create or replace package peace_pkg  as  function test1(in1 in varchar2)  return number;  procedure test2 (in2 in varchar2);  end peace_pkg;  ---关于包的例子 定义包体  create or replace package body peace_pkg  as  function test1(in1 in varchar2)  return number  as  temp number;  begin  temp := 0;  return temp;  end;  procedure test2 (in2 in varchar2)  is  begin  dbms_output.put_line(in2);  end;  end peace_pkg;                         (编辑:莱芜站长网) 
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! 
                     |