如何修改存储过程中的特定参数数据类型?

时间:2018-01-15 08:29:47

标签: sql-server

我有一个存储过程,请参阅this图片。 我想将Department参数修改为nvarchar(30),它当前为nvarchar(10)。

那我该怎么做呢? 非常感谢你

4 个答案:

答案 0 :(得分:0)

declare @department nvarchar(30)
set @department =  CAST (@department_in as nvarchar(30))

答案 1 :(得分:0)

如果你右键单击它,你可以选择'modify',它会为你生成一个alter procedure脚本。

将参数更改为nvarchar(30)并运行alter script。

答案 2 :(得分:0)

如果您已经将变量放大,则无法更改变量的类型。换一种说法: 要改变变量的类型,你需要再次声明它,并且this thread状态,你不能这样做。

答案 3 :(得分:0)

可以使用信息架构视图

根据参数名称,类型,长度等查询数据库对象
[INFORMATION_SCHEMA].[PARAMETERS]

但是你不能简单地更新某些表的长度来修改过程参数的长度等。

应使用

更新所有这些对象
ALTER PROCEDURE ...

命令,至少对于存储过程

您可以通过运行sp_helptext获取过程的源代码,如下所示

sp_helptext yourStoredProcedureName

然后修改参数并以ALTER命令

执行脚本