2009-01-07 18 views
5

Tôi phải sao chép các bảng từ cơ sở dữ liệu Oracle sang db2 v7, và để làm điều này (tránh hàng triệu giọt và tạo) Tôi muốn biết liệu db2 có một tính năng như Oracle để cho phép/vô hiệu hóa các ràng buộc tạm thời hay không mà không làm rơi chúng.Có cách nào để bật/tắt các ràng buộc trong db2 v7 không?

Xin cảm ơn trước, Mauro.

Trả lời

1

Tôi không chắc chắn nếu điều này làm việc trong phiên bản 7, nhưng bạn có thể thử như sau:

set integrity for table_name off 
set integrity for table_name foreign key immediate unchecked 

Và sau đó bạn có thể làm chèn của bạn. Để kích hoạt lại, sau đó bạn có thể làm như sau:

set integrity for table_name immediate checked 
+0

Điều này thực sự không vô hiệu hóa các ràng buộc. Dòng đầu tiên vô hiệu hóa chúng, nhưng đặt bảng trong "kiểm tra trạng thái chờ" mà về cơ bản có nghĩa là bạn không thể thực hiện hầu hết các hoạt động trên nó. Dòng thứ hai cho phép các ràng buộc một lần nữa, do đó, nó làm điều tương tự như dòng thứ ba. Sự khác biệt duy nhất là trong từ được kiểm tra/bỏ chọn, điều đó có nghĩa là nếu các ràng buộc phải được kiểm tra về các vi phạm ngay sau khi bật chúng trở lại. – Jardo

Các vấn đề liên quan