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 に答える