zoukankan      html  css  js  c++  java
  • Oracle多行数据合并一行.sql

    --Oracle多行数据合并一行.sql
    --
    1.
    CREATE TYPE NUMBER_LIST_T AS TABLE OF varchar2(50);     
    --2.   
    CREATE OR REPLACE FUNCTION CONCAT_LIST (
       lst 
    IN number_list_t, separator varchar2
    )
    RETURN VARCHAR2 IS
    ret 
    varchar2(2000);
    BEGIN
    FOR j IN 1..lst.LAST LOOP
    ret :
    = ret || separator || lst(j);
    END LOOP;

    RETURN ret;
    END;
     
    --3.  
    CREATE OR REPLACE FUNCTION getUserRoles (
       userid 
    in varchar2
    )
    RETURN VARCHAR2 IS
    rtl 
    varchar2(2000);
    BEGIN
      
    SELECT Substr(CONCAT_LIST(LST, ','),2into rtl from (
        
    SELECT
        
    CAST(MULTISET(
        
    SELECT trim(f_name) AS f_name FROM
           (
    select u.userid as f_id,r.rolename as f_name from base_role r, base_user_roles u where r.roleid=u.roleid) e
        
    WHERE e.f_id=m.f_id )
        
    AS number_list_t) LST
        
    FROM
           (
    select u.userid as f_id,r.rolename as f_name from base_role r, base_user_roles u where r.roleid=u.roleid) m
        
    where m.f_id = userid
        
    group by m.f_id
      );
      
    return(rtl);
    END;
    --select u.*, getUserRoles(u.userid) from base_user u
  • 相关阅读:
    温故而知新 js 点击空白处关闭气泡
    javascript 打印错误信息 catch err
    ajax application/json 的坑
    nodejs 的好基友:pm2
    有道翻译 / 百度翻译Api
    PHP 正则表达式
    php 正则替换
    github get 请求指定页面的代码
    H5 input 聚焦 置顶
    autoHotKey 一些脚本积累
  • 原文地址:https://www.cnblogs.com/ding0910/p/1289406.html
Copyright © 2011-2022 走看看