怎么使用object与record类型返回表类型数据
2007-03-15 21:05
609 查看
怎么使用object与record类型返回表类型数据
通过函数返回一个表类型的数据
先创建一个object的类型
代码:
然后创建一个表类型对应到这个object
代码:
创建一个函数返回这个表类型
代码:
通过游标返回一个表类型的数据
代码:
注,以上只是实际的例子,具体的使用还要视情况而定
通过函数返回一个表类型的数据
先创建一个object的类型
代码:
create or replace type varproperty IS object( pid number, vid number ); / .
然后创建一个表类型对应到这个object
代码:
CREATE OR REPLACE TYPE auc_property AS TABLE OF varproperty; / .
创建一个函数返回这个表类型
代码:
create or replace function GET_PROPERTY(p_string in varchar2 ) return auc_property as v_str long default p_string || ';'; v_pid varchar2(100); v_vid varchar2(100); v_n number; v_m number; TYPE auc_property AS TABLE OF varproperty; v_data auc_property := auc_property(); begin loop v_n := instr( v_str, ';' ); v_m := instr( v_str, ':' ); exit when (nvl(v_n,0) = 0); v_pid := ltrim(rtrim(substr(v_str,1,v_m-1))); v_vid := ltrim(rtrim(substr(v_str,v_m+1,v_n-v_m-1))); v_data.extend; v_data(v_data.count) := varproperty(v_pid,v_vid); v_str := substr(v_str, v_n+1); end loop; return v_data; end; / .
通过游标返回一个表类型的数据
代码:
create or replace procedure update_property is --variale m_aid varchar2(32); --type type v_array is record ( aid varchar2(32), astatus number, aproperty varchar2(4000) ); type t_aucid is table of v_array; v_aucid t_aucid := t_aucid(); --cursor cursor cur_pro is select id,APPROVE_STATUS,PROPERTY from auction_property_temp where PROPERTY is not null; --start begin open cur_pro; loop fetch cur_pro bulk collect into v_aucid limit 1000; for i in 1..v_aucid.count loop m_aid := v_aucid(i).aid; --delete from auction_property delete from auction_property where auction_id = m_aid; --insert into new recode insert into auction_property(auction_id,property_id,prop_vid,status) select m_aid,t.*,decode(v_aucid(i).astatus,-1,-1,0) status from table(get_property(v_aucid(i).aproperty)) t; end loop; commit; exit when cur_pro%notfound; end loop; commit; close cur_pro; end update_property; .
注,以上只是实际的例子,具体的使用还要视情况而定
相关文章推荐
- 使用原生sql查询数据返回object类型list时,转换数据列出现转换类型错误(但写法正确)
- ajax 返回数据,alert后显示object类型,如何处理
- Ajax前台返回JSON数据后再Controller中直接转换成类型使用,后台接收json转成实体的方法
- 使用ajax返回json类型数据的时候无法进入success可能的原因
- C# 使用linq处理返回带datetime类型数据 json显示/date(xxxxx)/
- spring mvc fastJson 自定义类型转换(返回数据) 实现对ObjectId类型转换
- 在Action中查询出SQL SERVER表的数据,返回一个list。怎么在JSP页面中使用Struts标签,显示出表中的内容?(转)
- Java使用百度API 返回JSON数据为unicode编码,怎么转化为中文?
- 【菜鸟学WCF】使用js+ajax调用WCF以及返回数据类型的控制
- .NET MVC在中控制器返回的bool类型数据的使用
- Jquery中的$.each获取各种返回类型数据的使用方法
- 使用Object对象的toString()方法自定义判断数据类型方法
- oracle中数据类型rowtype,Table,Object,Record
- 关于 Ajax中返回json类型数据为什么使用? eval()
- 在JAVA中返回类型使用泛型T和Object有什么区别?
- Map<String,object>也可以存list这样的数据,那么1map怎么遍历 2map能不能替代list 3既然map和list可以存下任何类型的数据,那么单map就可以存下任何类型的数据
- 关于Jquery中的$.each获取各种返回类型数据的使用方法
- Jquery中的$.each获取各种返回类型数据的使用方法
- linq自数据库中读取数据,返回匿名类型对象,以供前端使用
- 在使用Ibatis查询数据返回时,报如下错误:java ibatis The error happened while setting a property on the result object