Я создал эту хранимую процедуру, чтобы просмотреть все записи в таблице, сравнивая идентификатор (первичный ключ), если он существует и записи были изменены, внести необходимые изменения и обновить запись.
Если идентификатор отсутствует в таблице, вставьте запись. Это хранимая процедура
компилируется нормально, но, похоже, не работает должным образом. Нужен ли цикл while?
ALTER PROCEDURE [dbo].[SMLineUpdate]
(
@id [int],
@Payroll_Id [int],
@ProductCode nvarchar(255),
@Description nvarchar (255),
@Qty nvarchar(255)
)
AS
IF EXISTS (SELECT Id from Smline where @id = Id) BEGIN
update dbo.SmLine
Set [Payroll_Id] = @Payroll_Id
, ProductCode = @ProductCode
, Description = @Description
, Qty = @Qty
END ELSE BEGIN
INSERT INTO SmLine ([Payroll_Id], [ProductCode], [Description], [Qty])
VALUES (@Payroll_Id, @ProductCode, @Description, @Qty)
END