微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误:查询没有结果数据的目的地

如何解决错误:查询没有结果数据的目的地

create or replace function funcinsert(iacid int, islno int, idate date) returns int as $$

declare id_val int;

begin
    with i as (
        insert into gtab83 (acid,slno,orderdte)
        values (iacid,islno,idate)
        returning orderid
    )
    select orderid into id_val
    from i;
    return id_val;
end;
$$ language plpgsql;

It can be much simpler as plain sql

create or replace function funcinsert(iacid int, islno int, idate date)
returns int as $$

    insert into gtab83 (acid,slno,orderdte)
    values (iacid,islno,idate)
    returning orderid
    ;
$$ language sql;

解决方法

我创建了一个函数PostgreSQL以插入以下内容

  CREATE TABLE gtab83
(
  orderid integer NOT NULL DEFAULT nextval('seq_gtab83_id'::regclass),acid integer,slno integer,orderdte date
)

并创建的Function

  CREATE OR REPLACE FUNCTION funcInsert(iacid int,islno int,idate date) RETURNS int AS

$$

declare id_val int;

BEGIN

    INSERT INTO GTAB83 (acid,slno,orderdte) VALUES (iacid,islno,idate) RETURNING orderid 
into id_val;

return id_val;

END;

$$

  LANGUAGE plpgsql;
  • 当执行上述功能时

选择funcInsert(666,13,‘2014-06-06’

  • 得到这个错误
    错误:查询没有结果数据的目的地上下文:
    SQL语句中的PL / pgSQL函数procgtab83(integer,integer,date)第3行

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。