存储过程如下:
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?
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?
解决方案 »
- 请大家帮忙看看错误发生在哪里?
- 关于参与本网站一个小问题
- 如何降低SA权限!?(不添加DB用户)让SA能满足日常需求就OK了!!!!!!!
- 全局变量@@name是否可以自己定义? 与##区别? @ 与 # 区别
- 如何将SQL7.0中自建的数据库mydata中的所有资料清除,恢复到mydata第一次新建时的状态?
- 前一帖叙述问题,再发个,请教一个存储过程
- 不能访问跨域发布数据库的发布
- 台服务器齐工作,三台用于软件开发论坛,两台用于Google镜象,进来请看》》》
- ■■ORACALE中将数据库系统错误提示汉化是在一个表里的吗?是哪个表?■■
- 请问将超过255个字符更新回TEXT类型字段,该怎么做?
- 一个SQL语句的高难度问题,请SQL高手赐教!谢谢!
- *************************SQLSERVER的远程连接问题****************************
比如说
EXEC sp_Caculate @NumberA = 1,@NumberC=3,@ResultOUTPUT
就可以了使用默认参数了