Tôi nhận thấy rằng khi tôi sử dụng báo cáo này, cột Action
không nullable:Làm thế nào để kiểm soát nullability trong SELECT INTO cho cột đen dựa trên
SELECT TOP 0 SerialNumber, 0 [Action] INTO #MyTable FROM FSE_SerialNumber
Nhưng khi tôi sử dụng báo cáo này, cột Action
là nullable:
SELECT TOP 0 SerialNumber, CAST(0 as int) [Action] INTO #MyTable FROM FSE_SerialNumber
lý do tôi tạo bảng theo cách này là bởi vì tôi không muốn các bảng tạm thời kế thừa collation của serialNumber từ collation máy chủ mặc định hoặc ở nơi khác. Tôi muốn nó khớp với collation của FSE_SerialNumber..SerialNumber.
Câu hỏi của tôi là, tôi có thể dựa vào chức năng truyền cho tôi một cột không có giá trị hoặc không được xác định rõ ràng và có thể thay đổi. Tại sao các diễn viên đột nhiên làm cho cột nullable? Có cách nào tốt hơn (bên cạnh ý kiến) để làm rõ rằng ý định của tôi là để có được một cột nullable ở đó?
Tôi không biết rằng đây là tài liệu, nhưng ở nơi khác tôi cũng đã nhìn thấy các kỹ thuật của việc sử dụng một biến chứ không phải là một chữ để tạo ra một cột nullable.Tôi cho rằng đó là do biến (như biểu thức của bạn) có cấu trúc có siêu dữ liệu cho phép NULL, do đó, cột mới cũng vậy. Và nếu bạn đặt tên biến của mình là @NullableInt có thể xử lý vấn đề tự viết của bạn. – GilM