在我们的构建过程中,我们运行 sqlldr 以使用一些示例数据填充我们的数据库。在 sqlldr 接触的每个表上,外键在 sqlldr 运行后被禁用。
sqlldr 只会禁用与其他表相关的约束(例如:外键)而不是主键。
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
计数故意大于数据文件中的行数,因为如果它更小,它会损坏我的 primary key。
为什么 sqlldr 没有像文档似乎暗示的那样重新启用我的外键?
如果需要,我可以编写 SQL 以重新启用索引。我想知道为什么会这样。
使用传统的加载路径是一个不错的选择,但它会给我们的构建过程增加 2 分钟,如果可能的话,我想避免这种情况。