我有這樣一張桌子和一個過程:如何在PostgreSQL中爲rowtype變量使用默認列值?
CREATE TABLE test_table (
id SERIAL PRIMARY KEY,
info TEXT);
create or replace function test() returns void as
$$
declare
v_row test_table%ROWTYPE;
begin
v_row.info := 'test';
insert into test_table values (v_row.*);
end;
$$ language plpgsql;
select test();
ERROR: null value in column "id" violates not-null constraint
如何使用默認值的v_row.id場?我知道我可以寫
insert into test_table (info) values (v_row.info);
但我真正的情況下,我有很多這樣的表具有很多列,我真的想避免枚舉在INSERT語句中的所有列。
我希望得到像 v_row.id = default; 或 v_row.id = test_table.id.default; 但他們都沒有工作。 – Cezariusz