一条 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实现的.
相关问答:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jas ......
大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
大家好,我现在把oracle服务器上面 ......
我的处理是这样的:
我有一个很大的数据集合,处于性能方面的考虑需要使用临时表过渡,并且使用分页的方式向临时表中插入数据,数据使用完毕后,删除临时表的数据。
出现的现象:当Oracle重新启动后,第一页插入的 ......
做玩data guard 后
在Primary服务器 执行
SQL>SELECT SEQUENCE#,APPLIED from V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APP
---------- ---
13 NO
13 YES ......