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

Cách thêm cột trình tự vào bảng hiện có với các bản ghi

Bạn sẽ cần thêm một cột

ALTER TABLE userlog
  ADD( user_id number );

tạo một chuỗi

CREATE SEQUENCE user_id_seq
  START WITH 1
  INCREMENT BY 1
  CACHE 20;

Cập nhật dữ liệu trong bảng

UPDATE userlog
   SET user_id = user_id_seq.nextval

Giả sử rằng bạn muốn user_id trở thành khóa chính, sau đó bạn sẽ thêm ràng buộc khóa chính

ALTER TABLE userlog
  ADD CONSTRAINT pk_user_id PRIMARY KEY( user_id );

Nếu bạn muốn sử dụng trình tự để tự động thêm user_id khi bạn thực hiện INSERT (tùy chọn khác sẽ là tham chiếu cụ thể user_id_seq.nextval trong INSERT của bạn , bạn cũng sẽ cần một trình kích hoạt

CREATE OR REPLACE TRIGGER trg_userlog_user_id
  BEFORE INSERT ON userlog
  FOR EACH ROW
BEGIN
  :new.user_id := user_id_seq.nextval;
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Câu lệnh Oracle SQL * Plus ACCEPT

  2. Xóa bỏ dấu thập phân số 0

  3. làm thế nào để trích xuất định dạng ngày từ một oracle chuỗi

  4. Cách lưu trữ thời gian duy nhất; không phải ngày và giờ?

  5. oracle thay thế chế độ xem trong khi truy vấn