MSSQL サーバーで奇妙な現象を発見しました。
テーブルがあるとしましょう:
CREATE TABLE [testTable]
(
[ID] [numeric](11, 0) NOT NULL,
[Updated] [datetime] NULL,
PRIMARY KEY (ID)
);
Updated フィールドに基づいて簡単な選択を行います。
SELECT TOP 10000 ID, Updated
FROM testTable
WHERE Updated>='2013-05-22 08:55:12.152'
ORDER BY Updated
そして、ここで面白い部分があります: 結果セットの二重レコードをどのように持つことができますか? つまり、2 つのレコードに同じ ID があり、異なる更新された値を持っているということです。
私にとっては、更新された日時の値が変更され、結果セットにもう一度含まれているようです。しかし、それは可能ですか?
更新:SQLサーバーからデータをダウンロードするために使用するソースコード:
using (SqlCommand cmd = new SqlCommand(sql, Connection) { CommandTimeout = commandTimeout })
{
using (System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter(cmd))
{
DataTable retVal = new DataTable();
adapter.Fill(retVal);
return retVal;
}
}
接続 = SqlConnection
sql = "上位 10000 を選択 ...."