0
A
回答
2
我不知道Sybase ASE中的任何命令類似於MSSQL的alter table/check check constraint
。
如何強制FK約束的檢查一些想法:
bcp
到一個臨時表,然後通過從臨時表中選擇插入到目標表;這將產生一個錯誤,但不一定會告訴你哪個行FK檢查失敗(除非您選擇一次插入/選擇1行)用當前值更新FK列(s) (一個或多個); ASE不夠聰明,無法知道前/後值是相同的,所以它會運行FK檢查;再次,這將產生一個錯誤,但不會告訴你哪些行FK檢查失敗;如果它通過並更新一堆行(和相關索引),它也不是非常有效;是這樣的:
update child_table set fk_col = fk_col where ... for-the-child-rows-just-inserted ...
- 考慮運行
not exists
查詢來查找失敗的FK檢查,像行:
select * from child c where not exists(select 1 from parent p where p.pk = c.fk) and ... for-the-child-rows-just-inserted ...
相關問題
- 1. MongoDB Javascript批量插入唯一約束
- 2. 檢查約束
- 3. 檢查約束
- 4. 檢查約束
- 5. 檢查約束
- 6. 檢查約束
- 7. 檢查約束
- 8. 約束檢查
- 9. 檢查約束
- 10. 檢查sql約束
- 11. SQL檢查約束
- 12. Oracle檢查約束
- 13. PostgreSQL檢查約束
- 14. 檢查約束SQL
- 15. SQL約束檢查
- 16. Oracle檢查約束
- 17. Oracle約束檢查
- 18. BULK INSERT後檢查FK約束
- 19. 保存檢查約束變量賦值
- 20. 「檢查約束被一些行違反」 添加檢查約束
- 21. 檢查對於約束插入
- 22. 將csv文件導入postgres數據庫表(帶檢查約束),以便導入應導入通過檢查約束的所有行
- 23. SSIS導入數據以檢查約束啓用表
- 24. 檢查約束檢查列兩次
- 25. 檢查約束,檢查另一列值
- 26. 檢查約束列之間值檢查
- 27. EF核心檢查約束
- 28. 檢查約束與2表
- 29. 在NHibernate中檢查約束
- 30. 檢查外鍵約束MySQL
謝謝你的提示!我真的不明白爲什麼沒有更好的支持。將使用選項3。 – Beginner