Trong tuyên bố sau, từ khóa DEFAULT xuất hiện trong đó một giá trị mặc định được xác định cho tham số.Tại sao từ khóa DEFAULT được phép trong CREATE PROCEDURE Lệnh
CREATE PROCEDURE usp_Test
@sp_param1 varchar(20) = DEFAULT
AS
SELECT @sp_param1 AS myTest
;
NULL được gán cho @ sp_param1. Nhưng, The default value must be a constant or the NULL keyword.
Tại sao từ khóa DEFAULT được phép trong trường hợp này?
bạn có biết tại sao CREATE PROC phân tích cú pháp không? Giá trị nào đạt được bằng cách cho phép DEFAULT đặt trong CREATE PROC? – bobs
@bobs - đó là một cú pháp khác để nói, 'cột này là tùy chọn' mà không thực sự cho nó một giá trị NULL rõ ràng. – RichardTheKiwi
Kiểm chứng trong tương lai, có lẽ? nghĩa là cho phép loại mặc định là thứ khác với 'NULL'? Đối với tham số giá trị bảng, mặc định là một bảng trống nhưng sau đó bạn không thể sử dụng từ khóa 'DEFAULT' với tham số giá trị bảng! – onedaywhen