用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - sql代码库

oracle存储过程入门练习

2017-10-22 作者:知行合一心举报

[sql]代码库

select count(*) u_total from USERS;

select user_name as userName from users where user_id = '1'; --变量赋值 

----------------------------------
/*总人数*/
create or replace procedure procedure_liang(u_total out number) 
as
  --u_total number(1);
begin
  select count(*) into u_total from USERS;
  --DBMS_OUTPUT.put_line('总人数:'||u_total);
  if u_total = 6 then
    DBMS_OUTPUT.put_line('总人数:' || u_total);
  end if;

end;

-------------------------------------
/*带参数in和out的存储过程*/
create or replace procedure get_username(userId in varchar2,userName out varchar2)
as
begin
  select user_name into userName from users where user_id = userId; --变量赋值 
  DBMS_OUTPUT.put_line('姓名:'||userName);
exception
when no_data_found then 
raise_application_error(-20001,'ID不存在!');
end;

--------------------------------------
/*调用有返回值的存储过程*/
create or replace procedure get_other_procedure(userId out varchar2,userName out varchar2)
as
begin
  procedure_liang(userId);
  --select user_name into userName from users where user_id = userId; --变量赋值 
  get_username(userId,userName);
  
  DBMS_OUTPUT.put_line('用户id:'||userId);
  DBMS_OUTPUT.put_line('姓名:'||userName);
exception
when no_data_found then 
raise_application_error(-20001,'ID不存在!');
end;

--------------------------------------
/*查询list数据*/

create or replace procedure procedure_list(userId in varchar2,cur_out out sys_refcursor)
as
begin
  open cur_out for select * from users where user_id < userId; --变量赋值 
  --DBMS_OUTPUT.put_line('list:'||cur_out);
exception
when no_data_found then 
raise_application_error(-20001,'ID不存在!');
end;

---------------------------------------





[代码运行效果截图]


oracle存储过程入门练习

[源代码打包下载]




分享到:
更多

网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。