PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Menggunakan Aturan untuk Menyisipkan Urutan Kenaikan Otomatis Tabel Sekunder

Lupakan aturan sama sekali. Mereka buruk .

Pemicu jauh lebih baik untuk Anda. Dan dalam 99% kasus ketika seseorang berpikir dia membutuhkan aturan. Coba ini:

create table users (
  userid serial primary key,
  username text
);

create table lastlogin (
  userid int primary key references users(userid),
  lastlogin_time timestamp with time zone
);

create or replace function lastlogin_create_id() returns trigger as $$
  begin
    insert into lastlogin (userid) values (NEW.userid);
    return NEW;
  end;
$$
language plpgsql volatile;

create trigger lastlogin_create_id
  after insert on users for each row execute procedure lastlogin_create_id();

Kemudian:

insert into users (username) values ('foo'),('bar');

select * from users;
 userid | username 
--------+----------
      1 | foo
      2 | bar
(2 rows)
select * from lastlogin;
 userid | lastlogin_time 
--------+----------------
      1 | 
      2 | 
(2 rows)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pisahkan nilai yang dipisahkan koma ke dalam tabel target dengan jumlah kolom tetap

  2. Seberapa efisien untuk memesan berdasarkan jarak (seluruh tabel) di geodjango

  3. Tabel Postgres ke array dua dimensi

  4. Bagaimana melakukan kueri ActiveRecord grup ini di postgres

  5. Koneksi Npgsql dengan sertifikat ssl di .net core web api