Мне нужно обновить несколько таблиц, которые имеют одно и то же поле.Обновление нескольких таблиц с использованием одного и того же SQLParameter?
прямо сейчас у меня есть отдельное заявление обновления для каждой таблицы, как так:
try
{
using (SqlConnection conn = new SqlConnection(cCon.getConn()))
{
using (SqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "update table0 set active= 'N' where [email protected]";
cmd.Parameters.Add(new SqlParameter("@id", id));
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
cmd.CommandText = "update table1 set active= 'N' where id= @id ";
cmd.Parameters.Add(new SqlParameter("@id", id));
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
cmd.CommandText = "update table2 set active= 'N' where id= @id "
cmd.Parameters.Add(new SqlParameter("@id", id));
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
cmd.CommandText = "update table4 set active= 'N' where id= @id "
cmd.Parameters.Add(new SqlParameter("@id", id));
cmd.ExecuteNonQuery();
}
}
}
можно оптимизировать код, чтобы сделать его менее звонки? возможно, объединить все обновления в 1 командный текст и выполнить только один раз?
так как это все те же параметры, я думаю, это должно быть возможно? или я должен просто сделать хранимую процедуру?
Я создал хранимую процедуру, спасибо! –