Хранимая процедура имеет несколько функций.SQL Server хранимая процедура суммирования одного поля с параметром ввода из C#
Шаг первый: Мне нужно получить int
из таблицы SUM
с переменной @int
, введенной пользователем. Затем сохраните это значение обратно в тот же столбец, из которого он был извлечен. И.Е. У нас есть один, мы заказываем один, добавляем один, потому что теперь у нас есть два, потому что этот элемент уже находится в инвентаре.
Вот что я до сих пор:
BEGIN
SET NOCOUNT ON;
DECLARE @TotalOnHand INT;
SELECT (
Select Sum(TotalOnHand)
FROM (Values (InvTotalQtyOnHand), (@InvTotalQtyOnHand)) as TSum(TotalOnHand)
)
FROM InventoryMaster_tbl
INNER JOIN PurchaseOrderItems_tbl PartManufPartNum On PartManufPartNum = InvManPartNumber
WHERE POItemsID = @POItemsID
UPDATE [InventoryMaster_tbl]
SET InvTotalQtyOnHand = @TotalOnHand
END
Когда бегала я вижу InvTotalQtyOnHand теперь = 2 (там был один в столбце и пользователь ввел 1 = 2 в окне результатов QRY
Ошибка Я получаю:
не удается вставить значение NULL в столбец «InvTotalQtyOnHand», таблица «TrackLinq.dbo.InventoryMaster_tbl», столбец не допускает пустые значения UPDATE не удается
..
Очевидно InvTotalQtyOnHand
становится Null
поскольку @TotalOnHand = null
Первый пост здесь так будет хорошо. Я исследовал этот сайт уже много лет ... Я знаю, как это может быть ... :) Надеюсь, я был достаточно кратким для всех вас.
Заранее спасибо.
Вам понадобится пустая строка, чтобы BEGIN был частью блока кода. – evaitl