我创建了一个函数来使用 Sequence nextval() 函数更新 postgresSQL 表中的列。函数体如下
BEGIN
EXECUTE 'CREATE SEQUENCE '|| sequence_name || ' START 1';
EXECUTE 'UPDATE ' ||selected_table_name|| ' SET record_id = '||nextval(sequence_name);
RETURN 'SUCCESS';
END;
但是当我如下调用函数时
SELECT staging.update_record_id('staging.test_table','staging.sq_test_table');
它将所有记录的相关列更新为 1。但是当我直接在控制台中使用以下命令时,它会使用增量更新所有值。控制台代码如下。
update staging.test_table set record_id = nextval('staging.sq_test_table');
有没有人能给出解决方案,不胜感激