C# SQL Server存储过程的Foreach参数
我想知道SQL Server是否有一种方法可以让我自动列出存储过程包含的所有参数,然后在类似于下面c代码的foreach中使用它 在C#中,它将类似于C# SQL Server存储过程的Foreach参数,c#,sql-server,stored-procedures,C#,Sql Server,Stored Procedures,我想知道SQL Server是否有一种方法可以让我自动列出存储过程包含的所有参数,然后在类似于下面c代码的foreach中使用它 在C#中,它将类似于 Foreach(Parameter param in StoredProcedure) { if(param.value == "All") { param.value = ""; } } foreach显然是SQL代码。您可能在这里试图解决错误的问题,但是-下面是T-SQL语句,它将检索某些存储过程的所有参
Foreach(Parameter param in StoredProcedure)
{
if(param.value == "All")
{
param.value = "";
}
}
foreach显然是SQL代码。您可能在这里试图解决错误的问题,但是-下面是T-SQL语句,它将检索某些存储过程的所有参数:
select *
from sys.parameters
where object_id = object_id('procedure_name')
order by parameter_id
sql server不是mysql。请不要标记不相关的产品。@ZoharPeled已编辑,谢谢。Sql server没有foreach循环。你为什么要这样做?@ZoharPeled正如在c#foreach中看到的那样,我需要捕获任何“All”值并将其更改为“听起来它们应该是
NULL
,而不是”
——如果你有混合类型。在SP中,您可以为参数设置@param=nullif(@param,'All')
,以获取有效(非'All'
)值或NULL
,然后使用通常的,其中(fld=@param或@param为NULL)