易截截图软件、单文件、免安装、纯绿色、仅160KB

一条 SQL - Oracle / 基础和管理

有这样一条SQL
 Select Get_Costtaxrate(col1), Get_Tcostvalue(col1) from a
 
其中Get_Costtaxrate、Get_Tcostvalue都是函数,这两个函数里面都是查找一个大表,Get_Tcostvalue还需要调用Get_Costtaxrate
来进行计算,可以将两个函数合并成一个函数吗?
或者有没有高效一点的方式,感觉这样效率不高
给出你的表结构,数据和想要的结果。

2个函数合并,要看你的函数里包含的逻辑关系了,复杂的话建议你还的用2个函数

准确来说应该是三个函数,
Function A(out p1,out p2)

Function B
 调用 A
 返回 P1

Function C
 调用 A
 返回 P1与P2的计算值


要是能够在select 里取得函数的两个返回值就好了
我就可以这样写
select P1,P1与P2的运算
from 
(
  select A(P1,P2) from Tab1
)
不知道可以这样做不

你这个语句我不知道可行不,但思路完全可以啊。PLSQL里完全可以赋值给变量嘛

可以合并,你加个参数,Function A(out p1,out p2, arg In varchar2)
当arg 是'B'的时候返回取P1,是'C'的时候 返回P2=P1与P2的计算

首先,不是在Pl/SQL里,而是一条SQL里面,所以不能考虑赋值变量的方式
其次,现在不是合并与否的问题,而是希望减少调用2次A 函数的影响。

没有答案?

这个也能合并啊?不会吧..

但是函数只能返回一个数值啊.


不能在SQL实现的.


相关问答:

Windows 7 怎样安装Oracle - Oracle / 基础和管理

各位大哥,帮个忙。

下个Oracle for vista 版本的安装试试
10G和11G的 
http://www.oracle.com/technology/software/products/database/index.html 
------------------------------------------- ......

oracle与aix - Oracle / 高级技术

在系统运行的时候总是有一块磁盘始终闪红灯,进入系统后
#topas查看总是有一块磁盘%BUSY为90%以上,
数据库版本:oracle 9.2.0.7 
数据文件挂载的节点:/oradata/pcs/ 逻辑卷号lv04 
#lslv -l lv04 ......

求一个SQL语句 - MS-SQL Server / 基础类

字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......

Oracle临时表使用问题 - Oracle / 开发

我的处理是这样的:
我有一个很大的数据集合,处于性能方面的考虑需要使用临时表过渡,并且使用分页的方式向临时表中插入数据,数据使用完毕后,删除临时表的数据。
出现的现象:当Oracle重新启动后,第一页插入的 ......

sql 问题 - MS-SQL Server / 基础类

需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号