+ -
当前位置:首页 → 问答吧 → 请教个oracle数据库设计的问题 给个思路就好

请教个oracle数据库设计的问题 给个思路就好

时间:2011-10-19

来源:互联网

有表node表swimlane表schema代表流程
想查出当前流程 当前泳道的节点node sql语句为 select n.id from node n where n.swimlane_id in(select t.id from swimlane t where t.schema_id='vProcessId'); 返回是list 问题在于想对结果集存操作。用游标的话后面怎么将游标作为输入参数。。。 

作者: geniuswk3619   发布时间: 2011-10-19

用什么游标
insert into 表(字段1,字段2...) select *1,*2 .....from .....

作者: forgetsam   发布时间: 2011-10-19

的确是个办法 如果不想改变表结构呢。。

作者: geniuswk3619   发布时间: 2011-10-19

引用 2 楼 geniuswk3619 的回复:
的确是个办法 如果不想改变表结构呢。。


为什么要修改表结构,select 又不是只能查询一个表,又不是只能查询*

作者: forgetsam   发布时间: 2011-10-19

insert哪个表呢 node表?还是再建个表?

作者: geniuswk3619   发布时间: 2011-10-19

引用 4 楼 geniuswk3619 的回复:
insert哪个表呢 node表?还是再建个表?


你要那个结果集干什么,保存?

作者: forgetsam   发布时间: 2011-10-19

从里面再查询数据nodetype =‘start’
再以查出的id在表line中作为startid查询endid
再在查出的结果集中查出id为endid的节点再作为startid。。。

作者: geniuswk3619   发布时间: 2011-10-19

引用 6 楼 geniuswk3619 的回复:
从里面再查询数据nodetype =‘start’
再以查出的id在表line中作为startid查询endid
再在查出的结果集中查出id为endid的节点再作为startid。。。

那就继续子查询就好了,把你那条SQL做为一个视图来看待。
SQL code
select * from 
(
select n.id from node n where n.swimlane_id in(select t.id from swimlane t where t.schema_id='vProcessId')
) as T
where t......

作者: xiaobn_cn   发布时间: 2011-10-19

我最初是想用视图 可是返回的是list 视图可以返回list吗?
后来我就想分开写成函数再分别调用 可也是因为返回list并对list操作就不会弄了。。。

作者: geniuswk3619   发布时间: 2011-10-19

偶数据库编程用的比较少,不是很理解楼主所说的list是什么概念?
按照我的理解,楼主在代码中生成一个查询结果集,也就是你的那条SQL。
然后将这条SQL传递给需要使用的代码段就可以了,在里对接收到的SQL进行游标处理就可以了。

作者: xiaobn_cn   发布时间: 2011-10-19

是我小白。。别讽刺我了。。

作者: geniuswk3619   发布时间: 2011-10-19

主要就是对游标处理不是很熟悉。。

作者: geniuswk3619   发布时间: 2011-10-19

function getSwimLaneByProcessId(vProcessId varchar2) return sys_refcursor as
返回游标 想用function 2使用返回值作为参数 
c_id sys_refcursor :=getSwimLaneByProcessId(vProcessId varchar2);想这样的 不过这样写报错 不知道正确的该怎么写

作者: geniuswk3619   发布时间: 2011-10-19

显式调用 用fetch into 变量
隐式调用 用游标变量.列名

不过还是不知道你想做什么。

作者: forgetsam   发布时间: 2011-10-19

引用 10 楼 geniuswk3619 的回复:
是我小白。。别讽刺我了。。


呵呵,没有讽剌的意思,偶的数据库编程确是也在学习中,主要使用的项目代码量集中在客户端了。楼主不要多想。

作者: xiaobn_cn   发布时间: 2011-10-19

就是function1返回游标 函数2使用的话怎么从1中取出里面的属性

作者: geniuswk3619   发布时间: 2011-10-19

没关系 能跟我讨论这么久我已经很感激了。。。

作者: geniuswk3619   发布时间: 2011-10-19

因为函数2用的是1的游标我就不知道该怎么定义了

作者: geniuswk3619   发布时间: 2011-10-19

热门下载

更多