相关疑难解决方法(0)

如何将表值参数从.net代码传递给存储过程

我有一个MS SQL Server 2005数据库.在一些过程中,我将表参数作为nvarchar(以逗号分隔)传递给存储过程,并在内部划分为单个值.我将它添加到SQL命令参数列表中,如下所示:

cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo";
Run Code Online (Sandbox Code Playgroud)

我必须将数据库迁移到SQL Server 2008.我知道有表值参数,我知道如何在存储过程中使用它们.但我不知道如何将一个传递给SQL命令中的参数列表.有谁知道Parameters.Add程序的正确语法?或者是否有另一种传递此参数的方法?

c# sql-server stored-procedures sqlcommand table-valued-parameters

162
推荐指数
4
解决办法
26万
查看次数

如何将临时表作为参数传递到单独的存储过程中

我有一个存储过程,它接受一个输入参数@CategoryKeys varchar,并将其内容解析为临时表,#CategoryKeys.

        -- create the needed temp table.
        CREATE TABLE #CategoryKeys
          (
             CategoryKey SMALLINT
          );

        -- fill the temp table if necessary
        IF Len(rtrim(ltrim(@CategoryKeys))) > 0
          BEGIN
              INSERT INTO #CategoryKeys
                          (CategoryKey)
              SELECT value
              FROM   dbo.String_To_SmallInt_Table(@CategoryKeys, ',');
          END
Run Code Online (Sandbox Code Playgroud)

如果临时表有行,我想将表传递给一个单独的存储过程.我如何在单独的过程中创建一个参数来保存临时表?

sql sql-server stored-procedures

32
推荐指数
2
解决办法
6万
查看次数