• 在Oracle中如何创建带参数的视图?


    本文介绍了oracle数据库中创建带参数视图的例子,有需要的朋友参考下。

    在Oracle中如何创建带参数的视图?
     
    Oracle数据库中,视图不像存储过程和函数一样,可以定义输入参数,但可以变个方式,使用程序包来实现。
     
    首先,定义程序包:
     

    复制代码 代码示例:

    /* 按个人需要定义,我定义三个参数 ,因我项目程序需要,所以三个参数都是number ,当然可定义其它类型
    但切记,第二个create 的参数类型等需以第一个create一致,否则程序包创建失败
    */
    create or replace package p_view_param  is
           --参数一
       function set_param(num number) return number;
       function get_param  return number;
       --参数二
       function set_Type(num number) return number;
       function get_Type  return number;
       --参数三
       function set_Id(num number) return number;
       function get_Id  return number;
       end p_view_param;
    --
     create or replace package body p_view_param is
           paramValue number;
           paramType number;
            paramId number;
           -- Param
           function set_param(num number) return number is
           begin
             paramValue:=num;
             return num;
            end; 
          
           function get_param return number is
           begin
             return paramValue;
           end;
           -- Type
           function set_Type(num number) return number is
           begin
             paramType:=num;
             return num;
            end; 
          
           function get_Type return number is
           begin
             return paramType;
           end;
            -- ID
           function set_Id(num number) return number is
           begin
             paramId:=num;
             return num;
            end; 
          
           function get_Id return number is
           begin
             return paramId;
           end;
          
       end p_view_param;
     

    创建时记得先创建第一个;
     
    接下来定义视图:
     

    复制代码 代码示例:

    /*
    *定义视图,where 后面跟参数,可自己拼装,注意视图字段要和select的字段匹配
    */
    CREATE OR REPLACE VIEW abstract_sum_view(fa_id, aircraft_num,aircraft_weight,airline_code,anchor_pos)
                AS SELECT f.fa_id, f.aircraft_num,findweight(f.aircraft_num),f.airline_code,f.anchor_pos
                FROM tb_flight_abstract f
                 where f.fa_id=p_view_param.get_Id(); --参数
               
    --使用视图,传参
     select *  from abstract_sum_view  where p_view_param.set_id(3)=3 ;
     

  • 相关阅读:
    JavaScript——面向对象的程序设计——创建对象与继承
    JavaScript 引用类型
    JavaScript 变量、作用域和内存问题
    JavaScript基本概念——操作符
    JavaScript基本概念
    在HTML中使用JavaScript
    JavaScript简介
    记录前端遇到的坑
    第八次作业
    电脑上下载b站视频到本地
  • 原文地址:https://www.cnblogs.com/nuaaydh/p/4342721.html
Copyright © 2020-2023  润新知