易截截图软件、单文件、免安装、纯绿色、仅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实现的.


相关问答:

oracle spatial空间函数出错 - Oracle / 高级技术

在执行包的时候引用oracle spatial空间函数出错,出错情况如下
Errors in file
/user/oracle/app/oracle/admin/grid/udump/grid1_ora_143768.trc: ORA-29902:
error in executing ODCIIndexStart() routine ORA-0 ......

sql - MS-SQL Server / 疑难问题

sql的软件在哪里可以下啊!在网上找了蛮多都用不了啊

随便搞一D版吧,

迅雷第一个就可以用
2000,2005都这样

http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......

求一个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 10g data guard - Oracle / 基础和管理

做玩data guard 后
在Primary服务器 执行 
SQL>SELECT SEQUENCE#,APPLIED from V$ARCHIVED_LOG ORDER BY SEQUENCE#;
 SEQUENCE# APP
---------- ---
  13 NO
  13 YES ......

oracle初学者你请教 - Oracle / 基础和管理

--建立一个包以定义一个游标
create or replace package PK_test 
as 
type cur_test is ref cursor;
end PK_test;
--建立一个过程,通过输入JOBID,返回一个表记录(游标)!
create or replace ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号