У меня есть веб-сайт, где онлайн-заказ клиента, в тележке и т.д.
Проблема заключается в том, что когда я знал, что порядок записан, есть другая информация, которую необходимо обновить, например, запись в таблице заказа, вычеты из таблицы запасов, обновление таблицы продаж и т.д., и в настоящее время я делаю это, запустив каждый отдельный запрос время, когда база данных получает свой результат в соответствии с требованиями, а затем запускает другой запрос для обновления результата, поскольку следующий запрос требует информации из предыдущего:
bool stts = false;
int re1 = 0, re2 = 0, re3 = 0;
short maxOr = 0, maxCa = 0, maxOc = 0;
SqlConnection conn= Shared.GetSqlCon(); //Make connection object
conn= Shared.GetSqlCon();
var comm1 = new Commmand("SELECT MAX(orId) FROM [order];", sqlCon);
maxOr = Shared.OSC(sqlCon, comm1);
Shared.COC(sqlCon); //Close & Dispose connections
conn= Shared.GetSqlCon();
var comm2 = new Commmand("SELECT MAX(caId) FROM [cart];", sqlCon);
maxCa = Shared.OSC(sqlCon, comm2);
Shared.COC(sqlCon);
conn= Shared.GetSqlCon();
var comm3 = new Commmand("INSERT INTO [order_cart](orId,caId) VALUES(@maxOr,@maxCa);", sqlCon);
comm3.Parameters.AddWithValue("@maxOr", maxOr + 1);
comm3.Parameters.AddWithValue("@maxCa", maxCa + 1);
И, конечно же, это не лучший способ сделать это снова и снова в базу данных снова и снова, и я думаю, что переходить через SQL Server Stored Procedures
было бы лучшей идеей. Но даже после попытки найти и найти много я не мог найти пример того, как сохранить результат запроса в переменной SP
и использовать его внутри него, примерно так:
Declare @myVar int //Stored Procedure variable
@myVar = SELECT MAX(caId) FROM [cart] //Getting query result in the variable
INSERT INTO [order_cart](orId,caId) VALUES(@maxOr, @myVar); //Updating record through the variable
return @myVar //return variable value to the program
Можно ли это сделать? Если да, то как, пожалуйста, руководствуйтесь.