oracle存储过程有没有对象的概念? 就是在定义参数的时候能不能定义一个对象呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle存储过程有没有对象的概念? 就是在定义参数的时候能不能定义一个对象呢?相关的知识,希望对你有一定的参考价值。

参考技术A 你说一个对象 是一个类嘛 还是一个结果集。比如游标就算是滴,行对象读取
--For 循环游标--(1)定义游标--(2)定义游标变量--(3)使用for循环来使用这个游标declare --类型定义
cursor c_job
is
select empno,ename,job,sal from emp where job='MANAGER';
--定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型
c_row c_job%rowtype;
begin
for c_row in c_job
loop
dbms_output.put_line(c_row.empno||'-'||c_row.ename||'-'||c_row.job||'-'||c_row.sal);
end loop;
end;追问

谢谢...还有比游标更有效率的方式吗?
游标确实能满足我目前的需求.

参考技术B 你所谓的指的是type吧?变量类型。 要不然的话,就没有对象的概念了。本回答被提问者采纳 参考技术C 一般的对象是可以的,比如数组对象、集合,然后可以在存储过程里面循环取值
但你自己定义的java对象,不可以吧

datagrips oracle编写存储过程

参考技术A

定义方式:
变量名 类型(长度);

普通变量类型的赋值方式有两种:
1、通过 := 直接赋值;
2、通过 select (表中变量名) into (定义的普通变量) from ... where ... 赋值;
使用方法如下:

定义方式
变量名 表名.列名%type;
使用方法如下:

定义方式
对象名 表名%rowtype
使用方法如下:

定义
用于临时存储一个查询返回的多行数据,通过遍历的方式可以逐行访问处理该结果集的数据;
游标属性

以上是关于oracle存储过程有没有对象的概念? 就是在定义参数的时候能不能定义一个对象呢?的主要内容,如果未能解决你的问题,请参考以下文章

SQL的存储过程 语法格式是啥?

datagrips oracle编写存储过程

oracle中,一个存储过程怎么调用另一个存储过程?

MyBatis - 使用自定义对象调用存储过程

oracle存储过程输入参数能否为空

Oracle03——游标异常存储过程存储函数触发器和Java代码访问Oracle对象