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

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

כאשר מקימים 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!

השאר תגובה

אתר זו עושה שימוש ב-Akismet כדי לסנן תגובות זבל. פרטים נוספים אודות איך המידע מהתגובה שלך יעובד.