小编elf*_*sto的帖子

函数返回"查询没有结果数据的目的地"

我正在尝试创建一个有效地充当UPSERT的函数,并返回0表示成功的UPDATE或者返回成功INSERT的新记录的id.虽然该函数将成功创建,但当我尝试运行它时会出现以下错误:

query has no destination for result data
Run Code Online (Sandbox Code Playgroud)

我正在以这种方式运行它(数据显然是掩盖的):

select public.mergeaddress(0, 2, 'XXX XX XXXX', 'XXXX', 'XX', 'XXXXX', true, true, -XXX.XXXXXX, XX.XXXXXXX);
Run Code Online (Sandbox Code Playgroud)

我知道我必须在这里遗漏一些明显的东西.有什么想法吗?

CREATE FUNCTION mergeAddress(integer, integer, varchar, varchar, varchar, varchar, boolean, boolean, float, float) RETURNS integer AS

$$

DECLARE new_id integer;

BEGIN
    LOOP
        UPDATE users_addresses SET users_id = $2, address_street = $3, address_city = $4, address_state = $5, address_zip = $6, is_private = $7, is_default = $8, long = $9, lat = $10 WHERE id = $1 RETURNING id; …
Run Code Online (Sandbox Code Playgroud)

postgresql plpgsql postgresql-9.1

2
推荐指数
1
解决办法
2563
查看次数

标签 统计

plpgsql ×1

postgresql ×1

postgresql-9.1 ×1