我無法弄清楚這是否可以接受的操作。我需要從SQL Server 2008數據庫中選擇記錄,然後將它們從ASP.NET代碼中作爲單個事務刪除。請注意,.NET代碼必須能夠檢索首先選擇的數據。我可以先在一個t-SQL事務中選擇並刪除記錄嗎?
東西這樣:
SELECT * FROM [tbl] WHERE [id] > 6;
DELETE FROM [tbl] WHERE [id] > 6
我trying it與SQL小提琴但後來如果我這樣做:
SELECT * FROM [tbl]
我得到的全表好像沒有刪除。
編輯按照要求如下下面是完整的.NET代碼檢索記錄:
string strSQLStatement = "SELECT * FROM [tbl] WHERE [id] > 6;" +
"DELETE FROM [tbl] WHERE [id] > 6";
using (SqlCommand cmd = new SqlCommand(strSQLStatement, connectionString))
{
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while(rdr.Read())
{
//Read values
val0 = rdr.GetInt32(0);
val3 = rdr.GetInt32(3);
//etc.
}
}
}
當然可以。但請告訴我們你正在使用的代碼。 –
@PreetSangha:你的意思是.NET代碼?還是SQL?如果你的意思是後者,那就好像我上面展示的那樣。 – c00000fd
.Net代碼在這裏更重要 – TGH