TehnicSan |
Как определить что данные уже существуют/отсутствуют.
Буду признателен если поможете примером. |
Вообще-то говоря, о том, что данные существуют или не существуют должно знать клиентское приложение, имхо. Обычно делается так
CREATE PROC InsertOrUpdate
@UID INT OUTPUT,
......
AS
BEGIN
SET NOCOUNT ON;
IF @UID IS NULL BEGIN
INSERT IBTO Tbl(...)
.....
SET @UID = IDENT_CURRENT('Tbl')
END ELSE BEGIN
UPDATE Tbl SET
...
WHERE UID = @UID
-- если данные были удалены за время редактирования - не надо "прятать" этот факт :)
IF @@ROWCOUNT =0 RAISERROR('Запись была удалена',16,1)
END
END
GO
Соответственно на клиенте при сохранении данных по новому объекту считывается значение UID, полученное от ХП.