Có cách nào dễ dàng để kiểm tra xem khóa ngoại có tồn tại cho một cột trong bảng không? Tôi đang viết một kịch bản sẽ chỉ thêm khóa ngoại nếu nó không tồn tại.Một cách để kiểm tra xem khóa ngoài tồn tại trong SQL 2005
35
A
Trả lời
65
Bạn có thể sử dụng kịch bản này:
IF EXISTS (SELECT *
FROM sys.foreign_keys
WHERE object_id = OBJECT_ID(N'[dbo].[FK_NAME]')
AND parent_object_id = OBJECT_ID(N'[dbo].[MyTable]'))
BEGIN
-- do stuff
END
Điều này có thể được thực hiện nếu bạn mở rộng ra các bảng và nhấp chuột phải vào một FK hiện có và chọn chính kịch bản như "thả để" và sau đó bạn sẽ nhận được một tạo kịch bản từ SQL.
7
Woo-hoo! Tôi vừa trải qua hai ngày làm việc này.
IF NOT EXISTS (SELECT name
FROM sys.foreign_keys
WHERE name = 'FK_Name')
ALTER TABLE table_name ADD CONSTRAINT FK_Name FOREIGN KEY (idcol)
REFERENCES OtherTable(idcol)
Các vấn đề liên quan
- 1. Làm thế nào để kiểm tra xem một chỉ số nonclustered tồn tại trong SQL Server 2005
- 2. Kiểm tra tồn tại khóa trong HashMap
- 3. Kiểm tra xem các khóa/nút JSON có tồn tại
- 4. Kiểm tra xem khóa đăng ký có tồn tại không?
- 5. Kiểm tra xem một đối tượng tồn tại trong VBScript
- 6. SparseArray, kiểm tra xem key tồn tại
- 7. Cách PHP đúng để kiểm tra xem hình ảnh bên ngoài có tồn tại không?
- 8. Làm cách nào để kiểm tra xem cột có tồn tại trong SQL Server không?
- 9. Kiểm tra xem bảng có tồn tại
- 10. Cách kiểm tra xem tệp có tồn tại trong makefile
- 11. Làm cách nào để kiểm tra xem khóa json có tồn tại không?
- 12. Cách kiểm tra xem tài sản có tồn tại không?
- 13. Kiểm tra xem yếu tố tồn tại
- 14. Kiểm tra xem khóa có tồn tại trong mảng JSON không bằng cách sử dụng JQuery
- 15. Cách kiểm tra xem khóa hoặc giá trị có tồn tại trong Bản đồ không?
- 16. Javascript: Kiểm tra xem classname tồn tại
- 17. Cách kiểm tra xem khóa của tôi có tồn tại trong đối tượng mảng không
- 18. Kiểm tra xem bảng có tồn tại trong C#
- 19. MySQL: Chèn nếu khóa ngoài tồn tại
- 20. Cách kiểm tra xem cơ sở dữ liệu có tồn tại trong SQL Server không?
- 21. Cách kiểm tra xem tệp có tồn tại trên máy chủ bên ngoài
- 22. Kiểm tra xem một webservice có tồn tại
- 23. Cách di động nào nhất để kiểm tra xem trình kích hoạt có tồn tại trong SQL Server không?
- 24. Kiểm tra xem phần tử có tồn tại trong DIV
- 25. Làm cách nào để kiểm tra xem liệu một khóa trong hồ sơ có tồn tại không?
- 26. Làm cách nào để kiểm tra xem khóa có tồn tại trong một hàm băm Perl sâu?
- 27. CQL: cách kiểm tra xem keyspace có tồn tại không?
- 28. Kiểm tra xem id có tồn tại trong bảng ngoài không hai lần
- 29. Cách kiểm tra xem tệp có tồn tại từ url
- 30. Cách kiểm tra xem khóa ứng dụng có tồn tại không?
Tập lệnh này hoạt động rất tốt! Tôi không thể tin rằng bạn có thể viết một cái gì đó như thế từ menu. Cảm ơn một loạt sự giúp đỡ. –
Bạn có thể nhấp chuột phải vào bất kỳ thứ gì trong SQL và nó tạo ra một kịch bản cho bạn, Bảng, Thủ tục lưu trữ, Khóa ngoài và nhiều hơn nữa. Studio quản lý là bạn của bạn khi bạn tìm hiểu một số tính năng thú vị mà nó có thể thực hiện. – CodeLikeBeaker
Phương pháp này chỉ hoạt động nếu tên mặc định của khóa ngoại được sử dụng. Không đáng tin cậy khi làm việc trên các tên dựa trên các giả định đặc biệt nếu bạn đang làm việc trên các cơ sở dữ liệu được tạo bởi những người khác có thể tuân theo một quy ước đặt tên khác. Có cách nào để kiểm tra xem một cột cụ thể có phải là Khóa ngoại trừ một bảng khác thay vì kiểm tra tên của Khóa ngoại không? –