2014-10-23 26 views
7

Tôi đang tạo bảng mới trong trình thiết kế bảng SQL và tôi muốn "Giá trị mặc định hoặc Ràng buộc" của cột được dựa trên giá trị của một cột khác trong cùng một bảng. Vì vậy, tôi muốn Cột A để có được giá trị của nó từ một chuỗi con của Cột B. Cột A là một kiểu dữ liệu numeric, Cột B là varchar. Ngay bây giờ tôi có những điều sau đây, nhưng nhận được tin nhắn trong ảnh chụp màn hình 2 ... là có điều gì sai ở đây? Tôi cũng đã có biểu thức CONVERT(numeric (2,0), SUBSTRING(col_b,3,2)) và đã cho cùng một thông điệp.Đặt giá trị mặc định của cột dựa trên cột khác thuộc loại dữ liệu khác

Ảnh chụp màn hình 1:

enter image description here

Ảnh chụp màn hình 2:

enter image description here

Trả lời

9

Tôi không nghĩ rằng bạn có thể thiết lập giá trị mặc định của một cột dựa trên cột khác sử dụng DEFAULT CONSTRAINT.

Bạn có thể muốn xem xét cột được tính nếu tất cả những gì bạn đang muốn làm là thay thế giá trị NULL. http://msdn.microsoft.com/en-us/library/ms188300.aspx

Trong trường hợp cực đoan, bạn có thể thực hiện chính xác những gì bạn muốn trong TRIGGER. Đọc trên các bộ kích hoạt INSTEAD OF INSERT. http://technet.microsoft.com/en-us/library/ms175089(v=sql.105).aspx

+0

Cảm ơn @Raj Hơn nữa, tôi hoàn toàn quên các cột được tính toán. Chính xác những gì tôi đang tìm kiếm. –

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