zoukankan      html  css  js  c++  java
  • [Err] ERROR: wrong record type supplied in RETURN NEXT

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

    先看看例子吧:

    ---- 函数定义

    CREATE OR REPLACE FUNCTION "vt_profile"."udf_statistics_show_data"(sql_ text)
    RETURNS SETOF "pg_catalog"."record"
    AS $BODY$
    declare 
    sql_ alias for $1;
    r RECORD;
    begin



    FOR r IN EXECUTE sql_ LOOP RETURN NEXT r; END LOOP; return; end $BODY$ LANGUAGE plpgsql IMMUTABLE COST 1000 ROWS 1000 ; ALTER FUNCTION "vt_profile"."udf_statistics_show_data"(sql_ text) OWNER TO "etl_role";

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

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

    ---- 正确调用

    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')
    as  (appname varchar(100),label varchar(100),w201845 numeric,w201911 numeric,w201912 numeric);

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

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

    爬虫与转载请注明出处~

  • 相关阅读:
    laravel打印SQL语句
    php扩展打开不起作用的原因, php数字显示2147483647的原因
    opacity与rgba
    package.json中devDependencies与dependencies的区别
    FileReader读取文件
    Vue双向绑定原理详解
    Vue2入门路线及资源
    gulp入门实践
    浏览器版本识别
    this用法
  • 原文地址:https://www.cnblogs.com/jackicalSong/p/10715438.html
Copyright © 2011-2022 走看看