在写GP 输出不定长列数据表 函数时,报了一个错,百思不得其解。在公司大佬帮助下,知道是什么鬼了。。

先看看例子吧:

---- 函数定义

  1. CREATE OR REPLACE FUNCTION "vt_profile"."udf_statistics_show_data"(sql_ text)
  2. RETURNS SETOF "pg_catalog"."record"
  3. AS $BODY$
  4. declare
  5. sql_ alias for $1;
  6. r RECORD;
  7. begin
  8.  
  9. FOR r IN EXECUTE sql_ LOOP
  10. RETURN NEXT r;
  11. END LOOP;
  12. return;
  13. end
  14.  
  15. $BODY$
  16. LANGUAGE plpgsql IMMUTABLE
  17. COST 1000
  18. ROWS 1000
  19. ;
  20.  
  21. ALTER FUNCTION "vt_profile"."udf_statistics_show_data"(sql_ text) OWNER TO "etl_role";

---- 函数调用(会报错)

  1. select * from vt_profile.udf_statistics_show_data('select ''a'' appname,''a'' label,123 as w201845 ,123 as w201911,123 as w201912')
  2. as (appname varchar(100),label varchar(100),w201845 numeric,w201911 numeric,w201912 numeric);

---- 正确调用

  1. select * from vt_profile.udf_statistics_show_data('select ''a''::varchar appname,''a''::varchar label,123::numeric as w201845 ,123::numeric as w201911,123::numeric as w201912')
  2. as (appname varchar(100),label varchar(100),w201845 numeric,w201911 numeric,w201912 numeric);

知道了正确的调用,再看看错误提醒,原来是告诉我们,输出的数据类型 与定义的类型不一致!

来自:http://www.cnblogs.com/jackicalsong

爬虫与转载请注明出处~

[Err] ERROR: wrong record type supplied in RETURN NEXT的更多相关文章

  1. BCB ERROR:[Linker Error] 'XXX.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

    今天C++builder 导入 gts .lib  (gts.dll)库文件 编译报错: [Linker Error] 'D:\...\V4.05.007.1000-20161028\GTS.LIB' ...

  2. salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type)

    本篇引用以下三个链接: http://www.tgerm.com/2012/01/recordtype-specific-picklist-values.html?m=1 https://github ...

  3. ASP.NET MVC 提示there was error getting the type的解决方法

    在MVC中根据模型类创建控制器时提示there was error getting the type的原因是你新建的这个类模型文件后没有重新生成,先重新生成项目就可以添加控制器了.

  4. jersey处理支付宝异步回调通知的问题:java.lang.IllegalArgumentException: Error parsing media type 'application/x-www-form-urlencoded; text/html; charset=UTF-8'

    tcpflow以流为单位分析请求内容,非常适合服务器端接口类服务查问题 这次遇到的问题跟支付宝支付后的回调post结果有关 淘宝的代码例子: public void doPost(HttpServle ...

  5. cocoapods遇到error: RPC failed; curl 56 SSLRead() return error -36问题

    在安装cocoapods遇到的问题 [!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master Cloning into ...

  6. "npm ERR! Error: EPERM: operation not permitted"问题解决

    在基于macaca进行自动化测试的时候,遇到如下问题: E:\AutoTest\Macaca\LocalTEST\macaca-test-sample\macaca-test>macaca do ...

  7. [virsh] error: unknown OS type hvm解决办法

    今天在linux服务器上编译安装升级了下qemu,升级命令如下: root@ubuntu:/opt/qemu-# ./configure --prefix=/usr/local/ --target-l ...

  8. influxdb ERR: error parsing query: found -, expected

    ERR: error parsing query: found -, expected 使用时遇到这个问题,执行语句: select * FROM test10-cc-core01 本来以为和sql语 ...

  9. npm ERR! Error: socket hang up

    when i use npm to install express, it goes this message: npm info it worked if it ends with ok npm i ...

随机推荐

  1. aclocal: error: aclocal: file '/usr/local/share/aclocal/wxwin.m4' does not exist

    1. 查找wxwin.m4文件 mdfind -name wxwin.m4 2. 删除/usr/local/share/aclocal/wxwin.m4,建立软连接 cd /usr/local/sha ...

  2. node.js和MongoDB学习网址

    回想我写的node.js和MongoDB的博客,都是菜鸟教程那里的知识,所以我打算不写了,那些都是基础,在项目开发中,我发现单单有那些基础不行,这些基础可以尽快学好,然后学习项目开发过程 下面是两个教 ...

  3. 《梦断代码》读书笔记 part3

    第六章:搞掂设计方案 备份很重要. 必须从小项目开始,而且永远不要期望它变大,如果你这么想,就会做过度设计,把它想象得过于重要,更坏的情况是,你可能会被自己想象中的艰难工作所吓到.所以要从小 处起步, ...

  4. BZOJ 1002 轮状病毒 矩阵树定理

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1002 题目大意: 给定n(N<=100),编程计算有多少个不同的n轮状病毒 思路 ...

  5. Burnside引理和Polya定理

    转载自:https://blog.csdn.net/whereisherofrom/article/details/79631703 Burnside引理 笔者第一次看到Burnside引理那个公式的 ...

  6. 【[CQOI2011]动态逆序对】

    这是我的第一个数据结构套数据结构 不是线段树套\(Splay\),而是非常蛇皮的块状链表套树状数组 如果这里按照\(\sqrt{n}\)的大小来分块,那么就需要\(n\sqrt{n}\)的空间,可能开 ...

  7. Kali-linux无线网络嗅探工具Kismet

    如果要进行无线网络渗透测试,则必须先扫描所有有效的无线接入点.刚好在Kali Linux中,提供了一款嗅探无线网络工具Kismet.使用该工具可以测量周围的无线信号,并查看所有可用的无线接入点.本节将 ...

  8. iOS获取当前连接的wifi信息

    导入框架CaptiveNetwork #import <SystemConfiguration/CaptiveNetwork.h> 获取当前连接的wifi信息 // 只能获取当前的SSID ...

  9. PAT——1040. 有几个PAT

    字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T):第二个PAT是第3位(P),第4位(A),第6位(T). 现给定字符串,问一共可以形成多少个P ...

  10. xcode Aborting commit: '~/Pods' remains in tree-conflict 错误的解决办法

    在网上找了很多, 最后找到一个比较简单有较的 filename: 是出错的文件的绝对路径: xcode会提示 然后开终端: 1:svn remove --force filename 2:svn re ...