我有一个在循环内部插入的函数。请参阅下面的功能。
create temp table temp2 (id serial, other_value uuid);
CREATE OR REPLACE function verify_uuid() returns varchar AS $$
declare uu RECORD;
BEGIN
FOR uu IN select * from temp1
loop
execute 'INSERT INTO temp2 values ''' || uu ||''':uuid';
END LOOP;
END
$$
LANGUAGE 'plpgsql' ;
select verify_uuid();
我遇到的问题是价值部分。目前的设置,我收到错误:
QUERY:INSERT INTO temp2值 '(1,6f32e71c-9aad-48a9-a72c-bdec2f4548a2)':UUID
报价位置错误,我不知道如何将它们放在正确的位置。
答案 0 :(得分:1)
所以最后,我选择了以下内容。它让我到了这一点:
EXECUTE 'INSERT INTO temp2 values ('||uu.id||','''|| uu.some_value||''')';
答案 1 :(得分:0)
execute
'insert into temp2 (other_value) values ($1)'
using uu.the_column::uuid;