oracle 创建带参数的视图
生活随笔
收集整理的這篇文章主要介紹了
oracle 创建带参数的视图
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在Oracle里創(chuàng)建帶參數(shù)的視圖在Oracle里,視圖不像存儲過程和函數(shù)一樣,可以定義輸入?yún)?shù),但我們可以變個方式,使用程序包來實(shí)現(xiàn)首先定義程序包:/* 按個人需要定義,我定義三個參數(shù) ,因我項(xiàng)目程序需要,所以三個參數(shù)都是number ,當(dāng)然可定義其它類型
但切記,第二個create 的參數(shù)類型等需以第一個create一致,否則程序包創(chuàng)建失敗
*/
create or replace package p_view_param is --參數(shù)一function set_param(num number) return number; function get_param return number;--參數(shù)二function set_Type(num number) return number; function get_Type return number;--參數(shù)三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; -- Paramfunction set_param(num number) return number is begin paramValue:=num; return num; end; function get_param return number is begin return paramValue; end; -- Typefunction set_Type(num number) return number is begin paramType:=num; return num; end; function get_Type return number is begin return paramType; end;-- IDfunction 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; 創(chuàng)建的時候記得先創(chuàng)建第一個;接下來定義視圖:/*
*定義視圖,where 后面跟參數(shù),可自己拼裝,注意視圖字段要和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_posFROM tb_flight_abstract fwhere f.fa_id=p_view_param.get_Id(); --參數(shù)--使用視圖,傳參select * from abstract_sum_view where p_view_param.set_id(3)=3 ;OK 完工
?
總結(jié)
以上是生活随笔為你收集整理的oracle 创建带参数的视图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle, to_char(), t
- 下一篇: python二十:内置函数