oracle 创建带参数的视图
生活随笔
收集整理的這篇文章主要介紹了
oracle 创建带参数的视图
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在Oracle里創(chuàng)建帶參數(shù)的視圖在Oracle里,視圖不像存儲(chǔ)過(guò)程和函數(shù)一樣,可以定義輸入?yún)?shù),但我們可以變個(gè)方式,使用程序包來(lái)實(shí)現(xiàn)首先定義程序包:/* 按個(gè)人需要定義,我定義三個(gè)參數(shù) ,因我項(xiàng)目程序需要,所以三個(gè)參數(shù)都是number ,當(dāng)然可定義其它類(lèi)型
但切記,第二個(gè)create 的參數(shù)類(lèi)型等需以第一個(gè)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)建的時(shí)候記得先創(chuàng)建第一個(gè);接下來(lái)定義視圖:/*
*定義視圖,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 创建带参数的视图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle, to_char(), t
- 下一篇: python二十:内置函数