[求助]sqlserver的语法在oracle实现的困惑

[复制链接]
查看11 | 回复3 | 2011-2-18 11:43:33 | 显示全部楼层 |阅读模式
sqlserver中的代码(想实现的功能就是 通过一个函数返回一个结果集,然后在一个过程中对这个结果集进行select ,update操作)
函数 xf_1 return 一个结果集
过程 xp_1中的代码:
select * from xf_1(....)
update xf_1(...) set ..... where

我为了在oracle中实现类似的功能,我把xf_1函数做成了管道函数
xf_1(...) return ...pipelined
然后我在过程xp_1中调用:
select * from table(xf_1(....))
update (select * from table(xf_1(...))) set .... where ....
但我总觉得代码写的很别扭,大家有没有什么更好的建议,针对这种函数返回结果集,并且要在其他过程中update这个结果集的情况。
[ 本帖最后由 gong_max 于 2008-10-31 16:53 编辑 ]
回复

使用道具 举报

千问 | 2011-2-18 11:43:33 | 显示全部楼层
好象用#temp可以实现
回复

使用道具 举报

千问 | 2011-2-18 11:43:33 | 显示全部楼层
原帖由 swy0915 于 2008-10-31 16:15 发表
好象用#temp可以实现

你说的是临时表吗?
回复

使用道具 举报

千问 | 2011-2-18 11:43:33 | 显示全部楼层
我说的就是临时表 你把查询的集合放到里面 应该可以吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行