PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Domyślna wartość funkcji postgres w kolumnie z argumentem

Niestety nie możesz tego zrobić z powodu (dla dokumentacji ):

Możesz użyć wyzwalacza, np.:

create table the_table (
    trade_id int not null,
    group_id int);

create or replace function trade_id_trigger ()
returns trigger language plpgsql as $$
begin
    new.group_id:= new.trade_id+ 1;
    return new;
end $$;

create trigger trade_id_trigger
before insert or update on the_table
for each row execute procedure trade_id_trigger();

insert into the_table values (1,1);

select * from the_table;

 trade_id | group_id
----------+----------
        1 |        2
(1 row)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie między bazami danych w PostgreSQL

  2. Przechowywanie zaszyfrowanych danych w Postgres

  3. Obcinanie postgresa jest powolne

  4. Używanie dwufazowych zatwierdzeń na postgres

  5. Jak mogę używać wyzwalaczy PostgreSQL do przechowywania zmian (instrukcje SQL i zmiany wierszy)