我有一个存储过程,请参阅this图片。 我想将Department参数修改为nvarchar(30),它当前为nvarchar(10)。
那我该怎么做呢? 非常感谢你
答案 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命令
执行脚本