存储过程如下:
CREATEPROCEDURE [dbo].[sp_Caculate]
(
@NumberA INT = 1,
@NumberB INT = 2,
@NumberC INT,
@Result INT = default OUTPUT
)
ASBEGIN

SET @Result = @NumberA + @NumberB + @NumberC
END
-----------下面取它的参数:
SELECT     TOP (100) PERCENT
sys.procedures.[name] AS 'ObjectName',
sys.types.[name] AS 'DataType', 
REPLACE( sys.parameters.[name], '@', '') AS 'ParamName', 
sys.parameters.[is_output] AS 'IsOutput', 
sys.parameters.[default_value] AS 'Default',
sys.parameters.[max_length] AS 'Length'
FROM sys.procedures
INNER JOIN sys.parameters ON sys.procedures.[object_id] = sys.parameters.[object_id]
INNER JOIN sys.types ON sys.types.[system_type_id] = sys.parameters.[system_type_id]
ORDER BY sys.parameters.[object_id], sys.parameters.[parameter_id]
得到的结果却是:
ObjectName       DataType  ParamName IsOutput Default Length
sp_Caculate int NumberA 0 NULL 4
sp_Caculate int NumberB 0 NULL 4
sp_Caculate int NumberC 0 NULL 4
sp_Caculate int Result 1 NULL 4为什么default 为NULL?