电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 1673 人浏览分享

Oracle创建带有参数的视图代码介绍

[复制链接]
1673 0

这篇文章主要介绍了Oracle创建带有参数的视图代码介绍,
简介地介绍了创建方法,具有一定参考价值,需要的朋友可以了解下。


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

  1. /* 按个人需要定义,我定义三个参数 ,因我项目程序需要,所以三个参数都是number ,当然可定义其它类型
  2. 但切记,第二个create 的参数类型等需以第一个create一致,否则程序包创建失败
  3. */
  4. create or replace package p_view_param is
  5.     --参数一
  6.   function set_param(num number) return number;
  7.   function get_param return number;
  8.   --参数二
  9.   function set_Type(num number) return number;
  10.   function get_Type return number;
  11.   --参数三
  12.   function set_Id(num number) return number;
  13.   function get_Id return number;
  14.   end p_view_param;
  15. --
  16. create or replace package body p_view_param is
  17.     paramValue number;
  18.     paramType number;
  19.     paramId number;
  20.     -- Param
  21.     function set_param(num number) return number is
  22.     begin
  23.      paramValue:=num;
  24.      return num;
  25.     end;
  26.     function get_param return number is
  27.     begin
  28.      return paramValue;
  29.     end;
  30.     -- Type
  31.     function set_Type(num number) return number is
  32.     begin
  33.      paramType:=num;
  34.      return num;
  35.     end;
  36.     function get_Type return number is
  37.     begin
  38.      return paramType;
  39.     end;
  40.     -- ID
  41.     function set_Id(num number) return number is
  42.     begin
  43.      paramId:=num;
  44.      return num;
  45.     end;
  46.     function get_Id return number is
  47.     begin
  48.      return paramId;
  49.     end;
  50.   end p_view_param;
复制代码


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

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


OK 完工

以上就是本文关于Oracle创建带有参数的视图代码介绍的全部内容,希望对大家有所帮助。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.