oracle 视图传递参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 视图传递参数相关的知识,希望对你有一定的参考价值。

这是我创建的带参数视图

create or replace view tb_tmall_statistics_view as
select a.TB_ALIPAYACOUNT,count(a.TB_ORDERNO) TB_ORDERNO ,sum(a.TB_REALPAY) TB_REALPAY,sum(a.TB_PRODUCTNUMS) TB_PRODUCTNUMS
from TB_TMALLSTATISTICS a
where a.orderfrom = p_view_param.get_orderFromParam and a.tb_createordertime between p_view_param.get_startTimeParam and p_view_param.get_endTimeParam group by a.TB_ALIPAYACOUNT;

调用视图
select * from TB_TMALL_STATISTICS_VIEW t where
p_view_param.set_orderFromParam('1') and
p_view_param.set_startTimeParam(to_date('2015/10/3 10:19:02','yyyy/MM/dd hh24:mm:ss')) and p_view_param.set_endTimeParam(to_date('2015/11/4 10:59:38','yyyy/MM/dd hh24:mm:ss')) 提示无效的关系运算符。这是什么原因?

请大神解惑!

没有参数视图这一实现的吧。
网上有人用package中定义的变量作为视图的查询参数值(当然不是直接使用package中的参数,而是调用package中返回此变量值的函数),在使用视图之前先调用package中的设置该变量值的方法,这样来曲线实现所谓的“参数视图”。
从代码上来看,你应该是使用的这种方法。那么,你应该在select语句之前,先调用p_view_param中设置值的方法,执行完成之后再执行select。

不过,个人认为直接使用返回结果集的函数会更方便些。追问

我就是做的 set_startTimeParam() 类似javabeen一样。set 参数值,然后get获得return 的参数。但是却不行!网上的都是int类型的,我设置的是字符和日期类型的,却不行

追答

调用存储过程的语句是不能放在select语句中的吧。要先调用存储过程,再执行select语句,不是混在一起。

参考技术A select * from TB_TMALL_STATISTICS_VIEW t where
p_view_param.set_orderFromParam('1')='1' and
p_view_param.set_startTimeParam(to_date('2015/10/3 10:19:02','yyyy/MM/dd hh24:mm:ss'))=to_date('2015/10/3 10:19:02','yyyy/MM/dd hh24:mm:ss') and p_view_param.set_endTimeParam(to_date('2015/11/4 10:59:38','yyyy/MM/dd hh24:mm:ss'))=to_date('2015/11/4 10:59:38','yyyy/MM/dd hh24:mm:ss')

Informatica 是不是可以将值从 informatica 映射动态传递到 oracle 中的视图

【中文标题】Informatica 是不是可以将值从 informatica 映射动态传递到 oracle 中的视图【英文标题】:Informatica is it possible to pass a value dynamically from a informatica mapping to a view in oracleInformatica 是否可以将值从 informatica 映射动态传递到 oracle 中的视图 【发布时间】:2016-07-29 10:45:55 【问题描述】:

是否可以从 informatica 映射动态地将值传递给 Oracle 中的过程或视图?

请指教。

谢谢

【问题讨论】:

【参考方案1】:

您可以通过 Google “存储过程” 转换将值传递给存储过程。

【讨论】:

以上是关于oracle 视图传递参数的主要内容,如果未能解决你的问题,请参考以下文章

Jet 数据库和传递查询、参数

多视图参数传递

如何在c#中传递数组Oracle参数

将值从 Oracle 对象类型参数传递到 PLSQL 表类型参数

在 Oracle 10g 中将参数解析为来自 SP 的视图

url向视图函数传递参数