Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用某个参数更改所有存储过程中的参数长度_Sql_Sql Server - Fatal编程技术网

Sql 使用某个参数更改所有存储过程中的参数长度

Sql 使用某个参数更改所有存储过程中的参数长度,sql,sql-server,Sql,Sql Server,我需要在所有接收该参数的存储进程中更改某个参数的长度 这会让我知道进程名,但有没有办法将其嵌入到所有进程的ALTER中 SELECT DISTINCT p.SPECIFIC_NAME FROM INFORMATION_SCHEMA.PARAMETERS p WHERE p.PARAMETER_NAME = '@[PARAMETER_NAME]' 我不确定您是否可以直接更改参数长度。只有一个想法 您可以查看SCHEMA.ROUTINES中的信息来获取存储过程的文本 SELECT ROUTINE_

我需要在所有接收该参数的存储进程中更改某个参数的长度

这会让我知道进程名,但有没有办法将其嵌入到所有进程的ALTER中

SELECT DISTINCT p.SPECIFIC_NAME
FROM INFORMATION_SCHEMA.PARAMETERS p
WHERE p.PARAMETER_NAME = '@[PARAMETER_NAME]'

我不确定您是否可以直接更改参数长度。只有一个想法

您可以查看SCHEMA.ROUTINES中的信息来获取存储过程的文本

SELECT ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES 
WHERE ROUTINE_DEFINITION LIKE '@YourParam' 
AND ROUTINE_TYPE='PROCEDURE'

对于ALTER创建的每个例程定义更改,更改参数长度并执行它,只是为了保存新设置。

我正在使用SQL Server