DELETE и INSERT нельзя использовать в функциях. Переписывайте в процедуру. Примерно так
| Код | create procedure AddSaitCategor @IDCategor int, @idSait int, @Chek bit output
as begin
declare @ChekTmp bit, @idSaitCategor int;
select @idSaitCategor=dbo.SaitCategor.id from dbo.SaitCategor where dbo.SaitCategor.idSait = @idSait and dbo.SaitCategor.idCategor = @IDCategor
if @idSaitCategor > 0 set @ChekTmp = 1 else set @ChekTmp = 0
if @ChekTmp > @Chek delete from SaitCategor where dbo.SaitCategor.id = @idSaitCategor else if @ChekTmp < @Chek insert into SaitCategor (idSait, idCategor) values (@idSait, @IDCategor) return (@@ERROR);
end
|
Использование
| Код | declare @RetVal int;
execute @RetVal = AddSaitCategor @IDCategor = @IDCategor, @idSait = @idSait, @Chek = @Chek output;
|
Только не понятно, зачем Вы возвращаете знасение @Chek, если Вы его не изменяете.
|