0

我正在尝试在特定表中查找类型为 (int) 的主键列的最小值

我的存储过程代码的一部分:

IF NOT EXISTS
(
    SELECT *
    FROM Table
)
BEGIN
    SELECT *
    FROM Table
END

ELSE
   BEGIN
      SELECT Min(ColumnOne)
      FROM Table
   END

这是我阅读后的主要代码:

if (!reader.Read())
    return "EMPTY TABLE";
else
    return reader.GetInt32(0).ToString();   

我的 ExecuteReader 没有问题,但是当我在语句中遇到异常时

reader.GetInt32(0).ToString()

我相信当我的表格有多个条目时,我错误地提取了信息。我应该从读者那里调用以获得号码的正确功能是什么?

4

1 回答 1

0

我没有得到你的问题。正如您在问题中指定 min() 值并且您在 T-SQL 脚本中编写了 max() 函数。

如果您想检索列的下一个 Val,您可以在下面尝试

从表中选择 isnull(max(ColumnOne),0)+1

如果表为空,则上面的查询将返回 1,否则表中的最大当前值+1(下一个可用值)。

于 2013-07-15T10:41:51.660 回答