一条 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实现的.
相关问答:
各位大哥,帮个忙。
下个Oracle for vista 版本的安装试试
10G和11G的
http://www.oracle.com/technology/software/products/database/index.html
------------------------------------------- ......
在系统运行的时候总是有一块磁盘始终闪红灯,进入系统后
#topas查看总是有一块磁盘%BUSY为90%以上,
数据库版本:oracle 9.2.0.7
数据文件挂载的节点:/oradata/pcs/ 逻辑卷号lv04
#lslv -l lv04
......
字段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重新启动后,第一页插入的 ......
需求如下:
学院 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 ......