package-oracle 视图获取包参数,查询问题。

问题描述

oracle 视图获取包参数,查询问题。

建包 目的为 给 视图传参.
create or replace package p_view_param is
function set_startParam(startDate varchar2) return varchar2;
function get_startParam return varchar2;

end p_view_param;

create or replace package body p_view_param is

   paramValue varchar2(20);

   function set_startParam(startDate varchar2) return varchar2 is
    begin
     paramValue:=startDate;
     return startDate;
    end;

   function get_startParam return varchar2 is
   begin
     return paramValue;
   end;

end p_view_param;

视图 :
create or replace view p_view_user as
select id ,name from cube_user where startDate = to_date(p_view_param.get_startParam(),'yyyy-mm-dd');

查询:
select * from p_view_user where p_view_param.set_startParam('2013-02-01')='2013-02-01';

用此方式在视图中.

遇到问题 :
有些视图可以查询出结果集.

但有些 视图 就无法查询 出结果.
还有的 视图 第一次查询无结果, 第二次可以查出.

菜鸟一枚, 求指教.

解决方案

参考:http://www.2cto.com/database/201305/215902.html

时间: 2024-08-01 16:28:54

package-oracle 视图获取包参数,查询问题。的相关文章

ThinkPHP采用GET方式获取中文参数查询无结果的解决方法_php实例

在用ThinkPHP做tags标签的时候,出现了一个问题,就是能获取到参数,但是查不出相应的结果.查看数据库发现数据是存在的.问题出在哪了呢? 形如http:/www.XXXX.com/tags/index/%E8%87%AA%E5%8A%A8%E9%AA%8C%E8%AF%81.html的调用 参数是经过urlencode()编码了的,使用urldecode()函数进行解码,再进行查询仍然没有结果. 紧接着测试转换编码iconv()函数,结果成功了. 浏览器默认的编码是GB2312的,而这个项

ORaclE用B包体调用A包体的查询结果继续查找

问题描述 ORaclE用B包体调用A包体的查询结果继续查找 ORaclE用B包体调用A包体的查询结果继续查找,要如何使用 比如我有包体 P_T1,根据输入参数返回查询结果, 包体内容如下: PROCEDURE P_t1( P_a IN VARCHAR2, P_CUR OUT V_CUR) Is Begin OPEN P_CUR FOR Select * FROM table_test01 where id=P_a ; end P_t1; 另一包体P_T2, P_t1( 'a' , V_CUR1

Oracle 多参数查询语句_oracle

废话不多说了,直接给大家贴代码了,具体代码如下所示: CREATE OR REPLACE FUNCTION f_get_param( IN_PARAM IN VARCHAR2, IN_FLAG IN VARCHAR2) RETURN VARCHAR2 IS RESULT VARCHAR2(500); v_leng NUMBER; v_left NUMBER; v_right NUMBER; v_param VARCHAR2(200); v_param1 VARCHAR2(200); BEGION

myeclipse7.0查询Oracle视图出现问题

问题描述 小弟在用JDBC连接Oracle表的时候是能够找到记录而连接同一用户下的Oracle视图却没有记录知道的请说一下不胜感激之至

Oracle中获取执行计划的几种方法

1. 预估执行计划 - Explain Plan Explain plan以SQL语句作为输入,得到这条 SQL语句的执行计划,并将执行计划输出存储到计划表中. 首先,在你要执行的SQL语 句前加explain plan for,此时将生成的执行计划存储到计划表中,语句如下: explain plan for SQL语句 然后,在计划表中查询刚刚生成的执行计划,语 句如下: select * from table(dbms_xplan.display); 注意:Explain plan 只生成执

Oracle中获取执行计划的几种方法分析

以下是对Oracle中获取执行计划的几种方法进行了详细的分析介绍,需要的朋友可以参考下   1. 预估执行计划 - Explain PlanExplain plan以SQL语句作为输入,得到这条SQL语句的执行计划,并将执行计划输出存储到计划表中. 首先,在你要执行的SQL语句前加explain plan for,此时将生成的执行计划存储到计划表中,语句如下: explain plan for SQL语句然后,在计划表中查询刚刚生成的执行计划,语句如下: select * from table(

使用优化器性能视图获取SQL语句执行环境

    Oracle SQL语句的运行环境分为多个不同的层次,主要包括实例级别,会话级别,语句级别,其优先级依次递增.即语句级别的执行环境具有最高的优先权,会话级别次之,实例级别最低.反过来,实例级别的环境设置影响全局,而会话级别的则影响当前会话,语句级别的设置当然也就只影响当前语句.由此可知,运行环境中每一个环节的参数都对最终的数据库性能或所执行的SQL语句有直接的影响.因此在对数据库优化或调试SQL时,获得当前SQL语句运行环境显得尤为重要.为此,Oracle提供了三个重要的视图来获取不同级

使用Oracle的DBMS_SQL包执行动态SQL语句

引用自:http://blog.csdn.net/ggjjzhzz/archive/2005/10/17/507880.aspx 在某些场合下,存储过程或触发器里的SQL语句需要动态生成.Oracle的DBMS_SQL包可以用来执行动态SQL语句.本文通过一个简单的例子来展示如何利用DBMS_SQL包执行动态SQL语句:   DECLARE        v_cursor NUMBER;        v_stat NUMBER;        v_row NUMBER;        v_id

利用Oracle执行计划机制提高查询性能

oracle|性能|执行 消耗在准备利用Oracle执行计划机制提高查询性能新的SQL语句的时间是Oracle SQL语句执行时间的最重要的组成部分.但是通过理解Oracle内部产生执行计划的机制,你能够控制Oracle花费在评估连接顺序的时间数量,并且能在大体上提高查询性能. 准备执行SQL语句 当SQL语句进入Oracle的库缓存后,在该语句准备执行之前,将执行下列步骤: 1) 语法检查:检查SQL语句拼写是否正确和词序. 2) 语义分析:核实所有的与数据字典不一致的表和列的名字. 3) 轮