zoukankan      html  css  js  c++  java
  • GreenPlum学习笔记:create or replace function创建函数

      原始表数据如下:

      需求:现要求按分号“;”将rate_item列进行分割后插入到新的数据表中。

    CREATE OR REPLACE FUNCTION fun_gp_test_xxx_20181026(v_month int)
    RETURNS INT AS
    $BODY$
    
    declare
    v_num int;
    v_count int;
    
    begin
        v_num := 0;
        v_count := 1;
        
        while v_count > 0 loop
            v_num := v_num + 1;
            select count(1) into v_count from temp_cwh_test_1106 where split_part(rate_item,';',v_num) <> '';
            if v_count > 0 then
                insert into temp_cwh_test_1106_02 select serv_id,usage_date,latn_id,split_part(rate_item,';',v_num) from temp_cwh_test_1106 where split_part(rate_item,';',v_num) <> ''; ---- 需要提前建好temp_cwh_test_1106_02表
            end if;
        end loop;
    return 0;
    end;
    
    
    $BODY$
      LANGUAGE plpgsql VOLATILE;

      创建函数之后,调用函数。

    ---- 函数调用 ----
    select fun_gp_test_xxx_20181026('201810')
    
    ---- 查看结果表 ----
    select * from temp_cwh_test_1106_02;  -- 182

      结果如下:


    END 2018-11-07 00:10:02

  • 相关阅读:
    CTSC2018滚粗记
    HNOI2018游记
    NOIWC 2018游记
    PKUWC2018滚粗记
    HNOI2017 游记
    NOIP2017题解
    [HNOI2017]抛硬币
    [HNOI2017]大佬
    NOIP难题汇总
    [NOI2013]树的计数
  • 原文地址:https://www.cnblogs.com/hider/p/9919830.html
Copyright © 2011-2022 走看看