更新列详细信息时 PostgreSQL 序列不工作
PostgreSQL Squence Not Working When Updating Column Details
我创建了一个函数来更新 postgresSQL 中的列 table 使用 Sequence nextval() function.Function 正文如下
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');
当我直接在控制台中使用以下命令时,它会将所有 records.But 的相关列更新为 1,它会使用 increments.The 控制台代码更新所有值,如下所示。
update staging.test_table set record_id = nextval('staging.sq_test_table');
有没有大佬能给个解决办法,不胜感激
我找到了 question.The 函数体的解决方案,应该如下更改
BEGIN
EXECUTE 'CREATE SEQUENCE '|| sequence_name || ' START 1';
EXECUTE 'UPDATE ' ||selected_table_name|| ' SET record_id = nextval('''||sequence_name||''')';
RETURN 'SUCCESS';
END;
我创建了一个函数来更新 postgresSQL 中的列 table 使用 Sequence nextval() function.Function 正文如下
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');
当我直接在控制台中使用以下命令时,它会将所有 records.But 的相关列更新为 1,它会使用 increments.The 控制台代码更新所有值,如下所示。
update staging.test_table set record_id = nextval('staging.sq_test_table');
有没有大佬能给个解决办法,不胜感激
我找到了 question.The 函数体的解决方案,应该如下更改
BEGIN
EXECUTE 'CREATE SEQUENCE '|| sequence_name || ' START 1';
EXECUTE 'UPDATE ' ||selected_table_name|| ' SET record_id = nextval('''||sequence_name||''')';
RETURN 'SUCCESS';
END;