在Oracle里,视图不像存储过程和函数一样,可以定义输入参数,但我们可以变个方式,使用程序包来实现。

oracle package:

oracle package是oracle包,是一组相关过程、函数、变量、常量、类型和游标等PL/SQL程序设计元素的组合。包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装。

Oracle的Package的作用:

简化应用设计、提高应用性能、实现信息隐藏、子程序重载。

package 和 package body 有什么区别?

package是各个方法的定义,package body是具体的实现,这两个是一体的,必须同时存在

一.首先定义程序包:

create or replace package p_view_param_test  is
--参数一
function set_baseid(val varchar2) return varchar2;
function get_baseid return varchar2;
--参数二
function set_date(val number ) return number;
function get_date return number; end p_view_param_test;
create or replace package body p_view_param_test is
paramValue varchar2(100);
paramValue1 number; -- baseid
function set_baseid(val varchar2) return varchar2 is
begin
paramValue:=val;
return val;
end; function get_baseid return varchar2 is
begin
return paramValue;
end;
-- basecreatedate function set_date(val number) return number is
begin
paramValue1:=val;
return val;
end; function get_date return number is
begin
return paramValue1;
end;
end p_view_param_test;

  二、创建视图

CREATE OR REPLACE VIEW view_test as
select * from test where baseid =p_view_param_test.get_baseid() and basecreatedate =p_view_param_test.get_date();

  三、sql调用

select * from view_test where p_view_param_test.set_baseid('055e5b14-e8e5-4be7-9823-4976daa5902f')='055e5b14-e8e5-4be7-9823-4976daa5902f'
and p_view_param_test.set_date(1473423713)=1473423713;

  

Oracle视图传递参数的更多相关文章

  1. django_rest_framework视图传递参数给序列化器

    django_rest_framework视图传递参数给序列化器 视图中默认可以将request.data传递给序列化器,但request.data是不可更改的对象,但又想将额外的参数传递给序列化器 ...

  2. oracle 视图带参数

    -- create or replace package p_view_param is --参数一 function set_ID(num number) return number; functi ...

  3. MVC学习系列9--控制器接收从视图传递过来的参数

    前面学习了,从控制器向视图传递数据,现在学习怎么从视图向控制器传递数据. 通常,我们有两种方式,来处理浏览器的请求,一个是GET方式,一个是POST方式.一般来说,直接通过在浏览器中输入URL话,请求 ...

  4. 关于使用JPA中@Query注解传递表名/视图名参数的问题

    因碰到需要动态查询不同视图的结果,自己尝试使用@Query注解中传递视图名称参数: @Query("select * from ?1") List<Object> ge ...

  5. URL中传递参数给视图函数

    1. 采用在url中使用变量的方式: 在path的第一个参数中,使用<参数名>的方式可以传递参数.然后在视图函数中也要写一个参数,视图函数中的参数必须和url中的参数名称保持一致,不然就找 ...

  6. 二次封装Response类 | 视图类传递参数给序列化类context

    二次封装Response类 源码: class Response(SimpleTemplateResponse): """ An HttpResponse that al ...

  7. Django URL传递参数的方法总结(转)

    1 无参数情况 配置URL及其视图如下: 1 2 3 4 (r'^hello/$', hello)   def hello(request): return HttpResponse("He ...

  8. Struct2 向Action中传递参数(中文乱码问题)

    就是把视图上的值传递到Action定义的方法中 也就是把数据从前台传递到后台 三种方式: 1.  使用action属性接收参数 比如jsp页面: <body> 使用action属性接收参数 ...

  9. Fragment 回退栈 传递参数,点击切换图片使用Fragment ListView

    Fragment回退栈  类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fragment事务发生的变化. 如果你将Fragment任务 ...

随机推荐

  1. perl学习笔记一

    标量数据 标量:数字.字符.可以存储在标量变量中也可以从文件和设备中读取. 数字:所有数字内部格式相同——双精度浮点数. 浮点数直接量:程序员在程序中直接键入的数字. 整数直接量:6129804028 ...

  2. POJ 1040 Transportation

    链接:http://poj.org/problem?id=1040 Transportation Time Limit: 1000MS Memory Limit: 10000K Total Submi ...

  3. Android 百度地图 简单实现--- 美食搜索

    Android 百度地图 简单实现---  美食 依赖包: 加入 Android 百度依赖包: 1  key:  <!--        开发人员 key --> <meta-dat ...

  4. Solidworks草图或者特征无法删除怎么办

      单击重新建模之后即可删除.

  5. S3:代理模式 Proxy

    为其他对象提供一种代理以控制对这个对象的访问. 使用场合: 1.远程代理:为一个对象在不同的地址空间提供局部代表,隐藏对象存在于不同地址空间的事实.2.虚拟代理:根据需要创建开销很大的对象,通过它来存 ...

  6. Vector的一种实现(二)

      增加了逆置迭代器的实现 以及swap功能   完整代码如下: #ifndef VECTOR_H_ #define VECTOR_H_ #include <stddef.h> #incl ...

  7. spring拦截器不拦截方法名原因

    开发一个基于注解的登录拦截器,遇到拦截器只能拦截controller不能拦截到具体的方法名,这样拦截器就完全没用,经过仔细摸索,DefaultAnnotationHandlerMapping和Anno ...

  8. java读取clob字段的几种方法

    http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380143fd3d1027fa3c215cc790f1a06 ...

  9. Dalvik opcodes 查询smali语法大全

    原文链接:http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html Vx values in the table denote a Dalvik ...

  10. UIWebView 加载网页、文件、 html

    UIWebView  是用来加载加载网页数据的一个框.UIWebView可以用来加载pdf word doc 等等文件 生成webview 有两种方法,1.通过storyboard 拖拽 2.通过al ...