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 wherep_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 视图传递参数的主要内容,如果未能解决你的问题,请参考以下文章