有没有办法在SQL查询中传递多个参数?

时间:2012-09-14 19:05:43

标签: sql sql-server oracle oracle10g

有没有办法在SQL查询中传递多个参数?

带有1个参数的SQL查询。

Select 
       cusode as ACCOUNT,
       cusfulname as NAME,
       cushomephone as PHONE,
       numcals as CALLCOUNT,
       firstcalltime as FIRSTCALL,
       durationhm as DURATION,
       address as ADDRESS,
       city as CITY
from table(os_un_etcist('4815044'))

如何传递多于1个参数。

 例如'4815044'和'415175'

2 个答案:

答案 0 :(得分:2)

您需要修改该函数以允许一组id,而不仅仅是1.您可以修改现有函数,或者创建一个新函数,只需为每个id调用原始函数并将数据输出管道。

要获取该功能的来源,您可以:

select line, text
from all_source
where name = 'MY_FUNCTION';

或(更好的选项):从Oracle(免费)下载SQL Developer,然后打开您的连接的Functions文件夹。相信我,你会想要这个(或者也许是Toad)前进。

答案 1 :(得分:1)

如果它们具有相同的列,我建议进行UNION查询,因此每个查询不同表的多个select语句

如果它们有不同的列,请使用,运算符并给表别名,然后选择适当的

select x.a,y.b,y.c from table(os_un_etcist('4815044')) as x, table(os_un_etcist('415175')) as y

P.S:这是基于我对OPs问题的解释。