oracle练习(三)测试function

上一篇 / 下一篇  2009-12-25 19:30:17 / 个人分类:Oracle相关

测试 上oracle练习(二)中的function


--下面的sql 语句是测试 包 pkg_user 中的function用的

-- 1、测试 adduser 函数
-- 函数原型:adduser(name in varchar2, type in number,mobileno in varchar2,note in varchar2,oper_code out number) return number
declare
   test_result integer;
   oper_code integer;
begin
-- 插入记录
   test_result:=pkg_user.adduser('karen1',1,'123456789','测试案例01',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
   test_result:=pkg_user.adduser('karen2',2,'123456789','测试案例02',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
   test_result:=pkg_user.adduser('karen3',3,'123456789','测试案例03',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
   test_result:=pkg_user.adduser('karen4',1,'123456789','测试案例04',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
   test_result:=pkg_user.adduser('karen5',2,'123456789','测试案例05',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
   test_result:=pkg_user.adduser('karen6',3,'123456789','测试案例06',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
   test_result:=pkg_user.adduser('karen7',1,'123456789','测试案例07',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
-- 插入已经存在的用户
   test_result:=pkg_user.adduser('karen1',1,'123456789','测试案例08',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
-- 插入输入为null 的记录
   test_result:=pkg_user.adduser(null,1,'123456789','测试案例05',oper_code);
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);

end;
commit;


--2、测试 update 函数
-- 函数原型:updateuser(id in number,name in varchar2, type in number,mobileno varchar2,note varchar2,oper_code out number)
declare
   test_result integer;
   oper_code integer;
begin

-- 修改存在的用户
   test_result:=pkg_user.updateuser(22,'karen03',2,'00000','修改测试',oper_code);  -- id= 22 的用户存在
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
-- 修改不存在的用户
   test_result:=pkg_user.updateuser(0,'karen03',2,'00000','修改测试',oper_code);  -- id=0 的用户不存在
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
end;
commit;


--3、测试 delete 函数
--deleteuser(id in number,oper_code out number) return number
declare
   test_result integer;
   oper_code integer;
begin

-- 删除存在的用户
   test_result:=pkg_user.deleteuser(23,oper_code);    -- id=23 的用户存在
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
  
-- 删除不存在的用户
   test_result:=pkg_user.deleteuser(0,oper_code);   -- id=0 的用户不存在
   dbms_output.put_line('test_result='||test_result);
   dbms_output.put_line('oper_code='||oper_code);
end;
commit;

-- 4、测试 statuser 函数
-- 函数原型:statUser return sys_refcursor
declare
v_ref_cursor SYS_REFCURSOR;
v_type integer;
v_total integer;
begin
   v_ref_cursor:=pkg_user.statUser;
 /*  if v_ref_cursor%isopen = false then
     open v_ref_cursor;
   end if;*/
  
   dbms_output.put_line('type'||'  '||'total');
   fetch v_ref_cursor into v_type,v_total;
   while v_ref_cursor%found
   loop
      dbms_output.put_line(v_type||'       '||v_total);
      fetch v_ref_cursor into v_type,v_total;
   end loop;
  
   close v_ref_cursor;
  
end;

commit;


TAG:

 

评分:0

我来说两句

Open Toolbar