在Oracle数据库中,经常会有传递参数到视图中的需求,但是由于视图不能直接使用参数,导致数据库中很多复杂的逻辑需要使用存储过程或函数实现。那么如何在Oracle视图中传递参数呢?下面我们介绍一种做法,来实现视图中参数传递的技巧:
使用动态SQL语句实现视图参数传递
使用动态SQL,我们可以通过将参数作为变量传递给视图,然后在SQL语句中使用语句进行参数引用,具体实现如下:
–这里写了3个,类型都是varchar2,分别是begintimes 、endtimes 、related_trans_scopes
–vm_param 为名字。可以根据这个调用参数(个人感觉像实体类生成get、set方法,可以实体.下面的属性)
1、执行脚本 ,创建包体 :
create or replace package vm_param is
function set_begintime(begintimes varchar2) return varchar2;
function get_begintime return varchar2;
function set_endtime(endtimes varchar2) return varchar2;
function get_endtime return varchar2;
function set_related_trans_scope(related_trans_scopes varchar2) return varchar2;
function get_related_trans_scope return varchar2;
end vm_param ;
2执行脚本,创建包体内容
--名字和上面的要一样
create or replace package body vm_param is
--定义字段类型长度
begintime varchar2(100