在plsql中,存储过程中的out模式的参数可以用来返回数据,相当于函数的返回值。下面是一个小例子。

沿用上一篇的emp表结构和数据。

存储过程如下:

create or replace procedure out_test(v_user   in emp.user_name%type,
v_salary out emp.salary%type,
v_deptno out emp.emp_deptno%type) as
begin
select salary, emp_deptno
into v_salary, v_deptno
from emp
where user_name = v_user;
exception
when NO_DATA_FOUND then
dbms_output.put_line('No data found');
when TOO_MANY_ROWS then
dbms_output.put_line('Too many rows found');
end out_test;

在命令行中调用该存储过程,利用绑定变量

SQL> var v_user varchar2(20);
SQL> var v_salary number;
SQL> var v_deptno number;
SQL> exec :v_user := 'Lisi'; PL/SQL procedure successfully completed
v_user
---------
Lisi SQL> exec out_test(:v_user, :v_salary, :v_deptno); PL/SQL procedure successfully completed
v_user
---------
Lisi
v_salary
---------
11500
v_deptno
---------
20

这是在plsql developer下运行的结果,这个工具是一个很好的oracle的可视化编程工具。

转载自:https://www.cnblogs.com/bejour/p/3375104.html

最新文章

  1. Tomcat 启动花费很长时间的解决方案
  2. UE4 Plugins插件分享:
  3. xcode7 免费真机调试
  4. android中的AIDL进程间通信
  5. MVC 中DropDownList 用法
  6. 瀑布流ListView
  7. 使用git对unity3d项目进行版本控制
  8. JAVA事务的概念
  9. Asm Shader Reference --- Shader Model 2.x part
  10. DBA的那些事
  11. C/C++ 用libcurl库进行http通讯网络编程
  12. VBA 简单调试
  13. xen虚拟机安装实践
  14. 使用CoApp创建NuGet C++静态库包
  15. 彩扩机项目--NPN和PNP三极管作为开关管的区别
  16. php代码审计一些笔记
  17. 解决页面引用百度地图API设置点的logo不显示问题
  18. SQL Server 深入解析索引存储(堆)
  19. EF CodeFirst 数据库的操作
  20. 【NotePade++】NotePade++如何直接编译运行java文件

热门文章

  1. tensorboard 拒绝访问解决方法
  2. AX导出excel设置格式
  3. Mybatis @Result注解的使用案例
  4. 怎么理解js的原型链继承?
  5. Web SSH远程连接利器:gotty
  6. rabbitmq使用教程
  7. 北航OO课程完结总结
  8. sourceTree 3.X免注册[学习]
  9. android RecyclerView的Linear布局案例
  10. 详解html中的marquee属性