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

Cách chỉ định danh sách giá trị cho chuỗi postgresql

Có thể hoạt động như thế này:

-- DROP SCHEMA x CASCADE;
CREATE SCHEMA x;
CREATE TABLE x.priv_id(seq_id int primary key, id int);

INSERT INTO x.priv_id
SELECT generate_series(1,100,1), (random() * 1000)::int;

CREATE SEQUENCE x.priv_seq;

SELECT id
FROM   x.priv_id
WHERE  seq_id = (SELECT nextval('x.priv_seq'));

Những điểm chính:

1) Tạo bảng tra cứu với hai số
- seq_id đang đếm từ 1 và khóa chính của bạn.
- id là các số của bạn trong chuỗi (Tôi đã thay thế các số ngẫu nhiên ở đây).
2) Tạo một chuỗi trợ giúp.
3) Nhận các số của bạn với CHỌN như trên.
Bạn cần chọn phụ hoặc tất cả các giá trị sẽ được trả lại ngay lập tức.

Giải pháp này cung cấp cho tất cả sự bảo mật nextval () phải cung cấp cho đồng thời.
Tạo một chỉ mục duy nhất trên priv_id (id) nếu bạn muốn đảm bảo rằng id tùy chỉnh của mình là duy nhất.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao hàm phạm vi trên của postgres cho một phạm vi ngày trả về một giới hạn độc quyền?

  2. Lỗi:EXDEV:không cho phép liên kết thiết bị chéo, đổi tên '/ tmp / trên Ubuntu 16.04 LTS

  3. Postgres:\ sao chép lỗi cú pháp trong tệp .sql

  4. Số lượng tham số cho phép tối đa cho mỗi loại nhà cung cấp cơ sở dữ liệu là bao nhiêu?

  5. tham chiếu không hợp lệ đến mục nhập mệnh đề FROM cho bảng trong truy vấn Postgres