一部またはすべてのパラメーターがデータ型を持つ SQL Server データベース内のすべてのストアド プロシージャの名前を返すクエリはありますか?varchar
すべてのデータベース テーブルを から に変更し、変更するストアド プロシージャがたくさんあるため、変更できvarchar
ますnvarchar
。それなら丸一日かかるかもしれないので、助けてください
6868 次
3 に答える
2
確かに - これを試してください:
SELECT
ProcedureName = pr.Name,
ParameterName = p.Name,
TypeName = t.Name
FROM
sys.procedures pr
INNER JOIN
sys.parameters p ON p.object_id = pr.object_id
INNER JOIN
sys.types t ON p.system_type_id = t.system_type_id
WHERE
t.Name = 'varchar'
また、タイプ (にchar
変換する必要があるnchar
) およびtext
( に変換する必要がある)のパラメーターを検索することもできますntext
。nvarchar(max)
text
ntext
于 2013-07-02T05:03:29.237 に答える
2
これを試してみてください -
SELECT
[procedure_name] = SCHEMA_NAME(o.[schema_id]) + '.' + o.name
, parameter_name = p.name
FROM sys.objects o WITH(NOWAIT)
JOIN sys.parameters p WITH(NOWAIT) ON p.[object_id] = o.[object_id]
WHERE TYPE_NAME(p.user_type_id) = 'varchar'
AND o.[type] IN ('P ', 'X ', 'PC', 'RF')
于 2013-07-02T05:39:35.830 に答える