现在的位置: 首页 > 综合 > 正文

oracle 管道流函数

2018年05月10日 ⁄ 综合 ⁄ 共 920字 ⁄ 字号 评论关闭
管道流函数

1 先定义 对象类中 比如

 CREATE OR REPLACE TYPE OBJ_CJGZL IS object(
    mjvarchar2(20),--民警
    sspcsvarchar2(12),--派出所
    SQDMvarchar2(20),--社区代码
    FWSLnumber(10), --房屋数
    CZRKSnumber(10),--常住人口数
    ZZRKSnumber(10),--暂住人口数
    ZDRKSnumber(10),--重点人口数
    JGDXSnumber(10)--监管对象数
   )

2 创建 一个该类型的 表类型

 CREATE OR REPLACE TYPETAB_CJGZL  is table  ofOBJ_CJGZL

3.创建一个包 里面定义一个函数

  create or replace package PKG_TJ is
    functionF_CJgzl(v_sspcs in varchar2,sqjws in varchar2,tjsjq invarchar2,tjsjz in varchar2,tjlb in varchar2,mj invarchar2)  return TAB_CJGZL PIPELINED;
   end PKG_TJ;

4.定义包体
create or replace package body PKG_TJ is
    functionF_CJgzl(v_sspcs in varchar2,sqjws in varchar2,tjsjq invarchar2,tjsjzin        varchar2,tjlb in varchar2,mj in varchar2)
 return TAB_CJGZL PIPELINED is
 v_tjjg OBJ_CJGZL;
begin
 v_tjjg:=OBJ_CJGZL('','','',v_fws,v_czrks,v_zzrks,v_zdrks,v_jgdxs);
   PIPE ROW(v_tjjg);
   return;
 end F_CJgzl;
end PKG_TJ;

5.执行

  select * fromtable(cast(F_CJgzl('410100000000','','','','1','') asTAB_cjgzl))

抱歉!评论已关闭.