PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Sử dụng quy tắc để chèn vào chuỗi tự động tăng dần bảng phụ

Quên hoàn toàn các quy tắc. Họ tệ .

Kích hoạt là cách tốt hơn cho bạn. Và trong 99% trường hợp khi ai đó nghĩ rằng anh ta cần một quy tắc. Hãy thử điều này:

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();

Sau đó:

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. Django với ứng dụng PostgreSQL trên Heroku không đồng bộ hóa

  2. Postgresql:Nối phần tử trong các đối tượng mảng json

  3. Tóm lại, lập chỉ mục cơ sở dữ liệu với B + tree và Hash để so sánh

  4. Làm thế nào để tạo một trình nghe cơ sở dữ liệu với java?

  5. Lỗi:Nhập cơ sở dữ liệu Postgres trong vùng chứa docker