zoukankan      html  css  js  c++  java
  • Oracle视图传递参数

    在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;
    

      

  • 相关阅读:
    直接拿来用!最火的前端开源项目(一)
    前端开发框架三剑客
    javascript获取ckeditor编辑器的值(实现代码)
    FireFox不支持InnerText的解决方法
    makefile:4: *** missing separator. Stop.
    javascript跨域解决方案
    wap网站获取访问者手机号PHP类文件
    CentOS安装libpcap
    运用百度开放平台接口根据ip地址获取位置
    azure 云上MySQL最新版本 MySQL5.7.11 批量自动化一键式安装 (转)
  • 原文地址:https://www.cnblogs.com/blog411032/p/6566904.html
Copyright © 2011-2022 走看看