博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle存储过程返回表集合或者表里指定列集合
阅读量:6208 次
发布时间:2019-06-21

本文共 912 字,大约阅读时间需要 3 分钟。

  hot3.png

已有好几年,没有碰过存储过程了,最近因为项目需要,故重新捡起来。看别人写的存储过程特别优雅,一到自己手上就错误百出,很有感慨

需求:就是针对select * from  A;建一存储过程返回结果集

编写测试用例:

create table test1(col1 varchar2(10),col2 varchar2(10));insert into test1 values('a','a');insert into test1 values('b','b');insert into test1 values('c','c');insert into test1 values('d','d');insert into test1 values('e','e');insert into test1 values('f','f');create or replace package test_packageistype cursor_type is ref cursor;end test_package;create or replace procedure test_query_info(v_col in varchar2,v_cur out test_package.cursor_type)isbegin  open v_cur for select col2 from test1 where col1 = v_col;--返回指定列  //open v_cur for select * from test1 where col1 = v_col;--返回所有列end test_query_info;

编写心得:

第一:存储过程的参数类型,我们平常建立表时,比如name varchar2(20),都会在varchar2后面指定长度,但是在存储过程的参数里不可以这样,不然会创建失败的。

第二:open v_cur for 后面的select语句,必须是完整的一行,不能换行,不然程序会理解成是两行,创建也会失败的。

转载于:https://my.oschina.net/6tao/blog/295927

你可能感兴趣的文章
弃 Java 而使用 Kotlin 的你后悔了吗?| kotlin将会是最好的开发语言
查看>>
JavaScript 数据类型
查看>>
量子通信和大数据最有市场突破前景
查看>>
StringBuilder用法小结
查看>>
CSS - 修改input - placeholder 和 readonly 的样式
查看>>
android studio :cannot resolve symbol R
查看>>
paper 20 :color moments
查看>>
代码大全
查看>>
DataTable.ImportRow()与DataTable.Rows.Add()的区别
查看>>
程序集、应用程序配置及App.config和YourSoft.exe.config .
查看>>
二叉树的基本操作及应用(三)
查看>>
朱晔和你聊Spring系列S1E3:Spring咖啡罐里的豆子
查看>>
IOS CALayer的属性和使用
查看>>
温故而知新:柯里化 与 bind() 的认知
查看>>
Django REST framework
查看>>
CSS 如何让Table的里面TD全有边框 而Table的右左边框没有
查看>>
apache 虚拟主机详细配置:http.conf配置详解
查看>>
BABOK - 开篇:业务分析知识体系介绍
查看>>
Java入门系列-22-IO流
查看>>
MySQL:Innodb page clean 线程 (二) :解析
查看>>