Сохраненная Процедура ниже используется для вставки/обновления базы данных SQLInsert/Update набор записей
ALTER PROCEDURE [dbo].[uspInsertorUpdate]
@dp char(32),
@dv char(32),
@e_num char(12),
@mail varchar(50),
@emerg char(32),
@opt1 char(16),
@stat char(20),
@e_id char(35),
@e_tit varchar(64),
@e_date datetime
AS
BEGIN
SET NOCOUNT ON;
IF EXISTS (SELECT 1 FROM [dbo].[sampleemployee] WHERE e_id= @e_id)
BEGIN
UPDATE [dbo].[sampleemployee]
SET dp = @dp,
dv = @dv,
e_num = @e_num,
mail = @mail,
emerg = @emerg,
opt1 = @opt1,
stat = @stat,
e_tit = @e_tit,
e_date = @e_date
WHERE e_id = @e_id
END
ELSE
BEGIN
INSERT INTO [dbo].[sampleemployee](dp, dv, e_num, mail, emerg, opt1, stat, e_id, e_tit, e_date)
VALUES (@dp, @dv, @e_num, @mail, @emerg, @opt1, @stat, @e_id, @e_tit, @e_date);
END
END;
Но это просто вставляет один row.But, я набор записей из базы данных Oracle, которые я должен вставить/update в зависимости от e_id в базе данных SQA. Не уверен, что нужно изменить.
Конечно, только одна вставка. Здесь вы используете скалярные значения. Не совсем уверен, что вы пытаетесь сделать. –
Также не указывайте 'IF EXISTS/UPDATE/ELSE/INSERT'. Достаточно (и еще одна операция) сказать «UPDATE/IF @@ ROWCOUNT = 0/INSERT». –