如何使用oracle存储过程分享


create table stuInfo

  (

  stuID int primary key,

  stuName varchar2(20)

  )

  create or replace procedure proc1

  is

  begin

  insert into stuInfo values(1,’liheng’);

  end;

  create or replace procedure proc2

  (

  v_ID int,

  v_Name varchar2

  )

  is

  begin

  insert into stuInfo values(v_ID,v_Name);

  commit;———记得要提交

  end;

  create or replace procedure proc3

  (

  v_ID int,

  v_Name out varchar2

  )

  is

  varName stuInfo.Stuname%type;

  begin

  select stuName into varName from stuInfo where stuID=v_ID;

  v_Name:=varName;

  end;

  =====================返回全部记录=======================================

  create or replace package PKG_STUINFO is

  type stuInfoCursorType is ref cursor;

  procedure getStuInfo (stuInfoCursor out stuInfoCursorType);

  end;

  create or replace package body PKG_STUINFO is

  procedure getStuInfo (stuInfoCursor out stuInfoCursorType)

  is

  var_cursor stuInfoCursorType;

  begin

  open var_cursor for select * from stuInfo;

  stuInfoCursor:=var_cursor;

  end;

  end;

  =====================根据编号返回记录==============================

  create or replace package PKG_STUINFO is

  type stuInfoCursorType is ref cursor;

  procedure getStuInfo (v_ID int,stuInfoCursor out stuInfoCursorType);

  end;

  create or replace package body PKG_STUINFO is

  procedure getStuInfo (v_ID int,stuInfoCursor out stuInfoCursorType)

  is

  var_cursor stuInfoCursorType;

  begin

  if v_ID=0 then

  open var_cursor for select * from stuInfo;

  else

  open var_cursor for select * from stuInfo where stuID=v_ID;

  end if;

  stuInfoCursor:=var_cursor;

  end;

  end;

  =========================根据姓名返回记录===========================

  create or replace package PKG_STUINFO is

  type stuInfoCursorType is ref cursor;

  procedure getStuInfo (v_Name varchar2,stuInfoCursor out stuInfoCursorType);

  end;

  create or replace package body PKG_STUINFO is

  procedure getStuInfo (v_Name varchar2,stuInfoCursor out stuInfoCursorType)

  is

  var_cursor stuInfoCursorType;

  begin

  if v_Name =’ ‘ then

  open var_cursor for select * from stuInfo;

  else

  open var_cursor for select * from stuInfo where stuName like ‘%’||v_Name||’%’;

  end if;

  stuInfoCursor:=var_cursor;

  end;

  end;

—-想了解更多的数据库相关异常处理怎么解决关注<计算机技术网(www.ctvol.com)!!>



本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/81918.html

(0)
上一篇 2020年4月21日
下一篇 2020年4月21日

精彩推荐