Portál AbcLinuxu, 10. května 2025 14:41
Řešení dotazu:
create database foo; create user john; grant all on database foo to john; \connect foo;
create table pokus (i_pokus serial, v_pokus varchar(80)); create unique index p_pokus_1 on pokus(i_pokus); create language plpgsql; create or replace function u_pokus_before_insert() returns trigger as ' begin if new.i_pokus = 0 then new.i_pokus = nextval(''pokus_i_pokus_seq''); end if; return new; end ' language 'plpgsql'; create trigger t_pokus_1 before insert on pokus for each row execute procedure u_pokus_before_insert();
insert into pokus values (0, 'alfa'); insert into pokus values (0, 'beta'); insert into pokus values (0, 'gama'); select * from pokus; i_pokus | v_pokus ---------+--------- 1 | alfa 2 | beta 3 | gama
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.