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

Oracle sau khi cập nhật kích hoạt tạo liên kết cơ sở dữ liệu công khai

Tạo một liên kết cơ sở dữ liệu một cách nhanh chóng có vẻ như là một điều bất thường để làm; lược đồ của bạn thường phải tĩnh và ổn định. Tuy nhiên, nếu bạn phải làm vậy, sẽ đơn giản hơn nếu gói bản cập nhật và liên kết trong một quy trình hoặc chỉ đưa ra hai câu lệnh - có lẽ bất cứ điều gì thực hiện cập nhật đều được kiểm soát khá tốt, nếu không, bạn sẽ phải đối phó với nhiều người kích hoạt nhiều thời gian, điều này thậm chí sẽ còn lộn xộn hơn.

Bạn có thể làm cho việc này hoạt động bằng cách thêm PRAGMA autonomous_transaction; với trình kích hoạt của bạn, như được minh họa cho một vấn đề tương tự (tạo chế độ xem thay vì tạo liên kết) trong câu trả lời này , nhưng tôi không có khả năng kiểm tra điều đó vào lúc này.

create or replace
TRIGGER CreateLinkTrigger
after UPDATE of Year ON tableInit 
for each row
DECLARE
    add_link VARCHAR2(200);
    PRAGMA autonomous_transaction;
BEGIN
    ...

Bạn cũng có thể khiến trình kích hoạt gửi một công việc không đồng bộ để thực hiện DDL, như được mô tả trong câu trả lời này và có thêm ví dụ trong câu trả lời này , nơi bạn sẽ thay đổi khối ẩn danh của công việc để execute immediate .

Có lẽ sẽ tốt hơn nếu chỉ tạo các liên kết trước vài năm tới trong thời gian bảo trì, hoặc theo lịch trình, hoặc từ một quy trình; thay vì cố gắng kết hợp một thay đổi giản đồ với một thay đổi dữ liệu.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SEC_CASE_SENSTIVE_LOGON trong 12c

  2. Cách sử dụng hàm xmlconcat trong oracle

  3. Tạo Bảng từ Chế độ xem - Lỗi SQL SQL Oracle:ORA-01723:không cho phép các cột có độ dài bằng 0

  4. c # select truy vấn đến cơ sở dữ liệu Oracle ném Ánh xạ loại tùy chỉnh cho ... không được chỉ định hoặc không hợp lệ

  5. Cách tạo tệp login.sql cho SQLcl