2011-01-14 35 views
5

Nếu tôi có SQL sau đây:Có cách nào để vô hiệu hóa tự động ép buộc loại trong SQL Server 2005/2008, từ varchar để int (làm ví dụ)?

INSERT INTO sometable (someintcolumn) VALUES ('1') 

này sẽ thành công, chèn giá trị 1.

Có cách nào tôi có thể yêu cầu SQL Server để làm hài lòng không chuyển đổi các loại đối với tôi, vĩnh viễn hoặc tạm thời, và thay vào đó không thực thi SQL ở trên?

Chúng tôi có một dự án nhập khẩu lớn mà chúng tôi muốn sửa chữa tất cả SQL, nhưng yêu cầu phải thông qua tất cả các câu lệnh SQL và phân tích các kiểu dữ liệu của tất cả các cột. Vì điều này được thực thi dựa trên cơ sở dữ liệu thử nghiệm trên các máy chủ của chúng tôi, nên chúng tôi muốn máy chủ của chúng tôi cho chúng tôi biết khi nào chúng tôi đã có loại dữ liệu sai.

+0

Không. Bỏ phiếu ở đây https://connect.microsoft.com/SQLServer/feedback/details/260762/add-optional-checks-for-more-robust-development –

+0

Sẽ rất hữu ích nếu chúng ta xem có một bẫy "chuyển đổi ngầm" trong Profiler – gbn

Trả lời

0

Martin nói SQL Server không thể làm điều đó. Tôi tự hỏi sẽ khó khăn như thế nào khi cắt mã chuyển đổi loại ra khỏi một dbms nguồn mở.

Các vấn đề liên quan