• postgresql jsonb 解析 example


    do $$
    declare
        initData jsonb;
        initDataSize integer;
        item record;
        psetRoleMap jsonb;
        prmItem record;
        roleRecord record;
        pSetName varchar(100);    
        pSetNameArray varchar[];
        pId integer;
    	psId integer;
    	permset record; 
    	perm record;
    	sysmodule record;
        mName  varchar(100);
    	modelId integer;
    begin
    
        initData:= '[	
    {"PermissionName":"总览","PermissionCode":"*****","ActionUrl":"*****","PermissionSetName":"总览","SysModuleName":"内部","SysModuleId":4},
    {"PermissionName":"列表","PermissionCode":"*****","ActionUrl":"*****","PermissionSetName":"总览","SysModuleName":"内部","SysModuleId":4}
    ]'::jsonb;
      
       ;
        
        for item in select a.* from jsonb_to_recordset(initData) as a("PermissionName" varchar(100), "PermissionCode" varchar(100), "ActionUrl" varchar(500), "PermissionSetName" varchar(100), "SysModuleName" varchar(100), "SysModuleId" integer)
        loop
          RAISE NOTICE 'Begin Process Permission %', item."PermissionName";  
          
    
          RAISE NOTICE 'Finish Process Permission %', item."PermissionName";
      end loop;
     
     
       
        psetRoleMap:= '[ {
    	"RoleName": "AM",
    	"PermissionSetName": "总览",
    	"SysModuleId": "4"
    }]'::jsonb;
       
    
      for prmItem in select a.* from jsonb_to_recordset(psetRoleMap) as a("RoleName" varchar(100), "PermissionSetName" text, "SysModuleId"  varchar(300))
      loop  	
      	RAISE NOTICE 'Process Role % PermissionSet', prmItem."RoleName";
    
    		foreach pSetName in array pSetNameArray 
    		loop		   
    		  	
    		end loop;
      	end if;
      end loop;
     
    end $$;
    

      

  • 相关阅读:
    XP显示桌面
    批量改名
    poj 3126 BFS
    poj 3278 BFS
    poj 1426 BFS
    准备打酱油…
    POJ 2243 BFS 和 简单的调试方法学习
    K
    EXCEL fundamentals
    poj 1011 DFS+剪枝
  • 原文地址:https://www.cnblogs.com/panpanwelcome/p/16135117.html
Copyright © 2020-2023  润新知