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

ORA-02298 Không tìm thấy khóa chính?

ALTER TABLE WORKPACKAGES
ADD FOREIGN KEY (EMPLOYEEID) REFERENCES EMPLOYEES (EMPLOYEEID);

Khi khóa này được thực thi, Oracle sẽ kiểm tra xem tất cả nhân viên có trong bảng Workpackages đều có trong bảng Nhân viên hay không.

Tùy chọn của bạn:

Tìm các khóa vi phạm bằng cách chạy

SELECT employeeid
FROM   workpackages
WHERE  employeeid NOT IN (SELECT employeeid
                          FROM   employees); 

và sau đó chèn chúng vào bảng nhân viên.

Một tùy chọn khác là sử dụng NOVALIDATE để dữ liệu hiện có không được kiểm tra, nhưng mọi chèn / cập nhật mới sẽ được xác thực. Xem trò chơi này để giới thiệu về điều này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn cập nhật Oracle để cập nhật các bản ghi theo thứ tự tuần tự

  2. Hàm RPAD () trong Oracle

  3. Oracle chọn chuỗi con tương hỗ

  4. Lệnh odbc thích hợp để gọi thủ tục được lưu trữ trong Oracle với các tham số từ .Net là gì?

  5. Tự động thực thi kích thước bảng cơ sở dữ liệu tối đa bằng cách loại bỏ các hàng cũ