在我們的構建過程中,我們運行sqlldr以使用一些示例數據填充我們的數據庫。在sqlldr觸及的每個表上,在sqlldr運行後外鍵都被禁用。爲什麼我的外鍵在運行sqlldr之後被禁用?
SQLLDR將僅禁用涉及到其它表約束 (例如: 外鍵)NOT的主鍵。
SQLLDR將僅重新啓用IT禁用的 約束,而不是您自己所做的 約束。
我會認爲我的外鍵應該啓用。
我們所有的SQLLDR控制文件是與此類似:
options (direct=true, rows=20000)
load data
infile "clinical_code.txt"
append
into table clinical_code
fields terminated by "|"
trailing nullcols
的rows
計數故意比數據文件中的行數大,因爲如果它是較小的,it corrupted my primary key。
爲什麼不SQLLDR重新啓用我的外鍵類似的文件似乎在暗示?
我很好寫SQL以重新啓用索引如有必要。我想知道爲什麼會發生這種情況。
使用傳統的加載路徑是一個不錯的選擇,但是它會在我們的構建過程中增加2分鐘,如果可能,我想避免這種情況。
你的答案已經死了。謝謝。不知道爲什麼我不能谷歌這個答案。 – 2009-08-20 14:51:05