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. 檢查約束
- 2. 檢查約束
- 3. 檢查約束
- 4. 檢查約束
- 5. 檢查約束
- 6. 檢查約束
- 7. Oracle檢查約束
- 8. PostgreSQL檢查約束
- 9. SQL約束檢查
- 10. Oracle檢查約束
- 11. 檢查sql約束
- 12. BULK INSERT後檢查FK約束
- 13. 檢查對於約束插入
- 14. 將csv文件導入postgres數據庫表(帶檢查約束),以便導入應導入通過檢查約束的所有行
- 15. 解析SQL檢查約束
- 16. 約束雙重檢查
- 17. 檢查約束與2表
- 18. 延遲約束檢查
- 19. Sql Server 2008檢查約束
- 20. 約束檢查Oracle SQL
- 21. 檢查外鍵約束MySQL
- 22. 一個Oracle檢查約束
- 23. 檢查約束爲錢
- 24. 檢查DataRow約束添加
- 25. SQL Server的檢查約束
- 26. EF核心檢查約束
- 27. SQL Server:檢查約束
- 28. 檢查約束的條件
- 29. Sybase檢查約束評估
- 30. Condidate的檢查約束
謝謝你的提示!我真的不明白爲什麼沒有更好的支持。將使用選項3。 – Beginner