Sql 使用某个参数更改所有存储过程中的参数长度
我需要在所有接收该参数的存储进程中更改某个参数的长度 这会让我知道进程名,但有没有办法将其嵌入到所有进程的ALTER中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_
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