מפתח ראשי ואינדקסים

כנראה שאתם יודעים על זה אבל למקרה ולא.

כאשר מקימים primary key בצורה של :

alter table XXX add constraint XXX$PK primary key (X,Y) using index;

אורקל יקים  index כדי לאכוף את ה constraint. כאשר נרצה לנטרל את ה-Contraint ונעשה:

alter table DIM_DWENG_REJECT_REASON disable primary key

או

alter table DIM_DWENG_REJECT_REASON drop primary key

אורקל ימחק מייד גם  את האינדקס.

איך ניתן לעקוף את זה? אם קודם ניצור unique index על עמודות שהם Not Null:

create unique index XXX$PK on XXX (X, Y) nologging;

ורק אז נוסיף את ה-constraint:

alter table XXX add constraint XXX$PK primary key (X,Y) using index;

אורקל לא יעשה drop לאינדקס בצורה אוטומטית ונצטרך לעשות את זה ידנית.

0 תגובות

השאירו תגובה

Want to join the discussion?
Feel free to contribute!

השאר תגובה

אתר זה עושה שימוש באקיזמט למניעת הודעות זבל. לחצו כאן כדי ללמוד איך נתוני התגובה שלכם מעובדים.