Не... Потом из этой таблицы еще и данные выбирать. Всего потом не учтешь.
Тут еще хитрее ситуация.
Если вызываю EXEC UpdateChange 1,1,1,1 - гут, все красиво отрабатывает. А вот если ее вызывает ХП:
EXEC UpdateChange (SELECT c.id,'Article',@ID,NULL FROM Cash AS c WHERE c.IsDel=0 AND c.mode = 2)
Тогда
Цитата:Сообщение 201, уровень 16, состояние 3, процедура UpdateChange, строка 0
Procedure 'UpdateChange' expects parameter '@Cash', which was not supplied.
ХП выглядит так:
ALTER PROCEDURE [dbo].[UpdateChange] (
@Cash numeric(6,0),
@Type varchar(100),
@D1 varchar(100),
@D2 varchar(100)
)
AS
BEGIN
IF @D2 IS NULL
IF @D1 IS NULL
BEGIN
IF NOT EXISTS (SELECT * FROM Change WHERE Cash = @Cash AND Type = @Type AND D1 IS NULL AND D2 IS NULL)
INSERT Change VALUES (@Cash,@Type,@D1,@D2,0)
END
ELSE
BEGIN
IF NOT EXISTS (SELECT * FROM Change WHERE Cash = @Cash AND Type = @Type AND D1 = @D1 AND D2 IS NULL)
INSERT Change VALUES (@Cash,@Type,@D1,@D2,0)
END
ELSE
IF NOT EXISTS (SELECT * FROM Change WHERE Cash = @Cash AND Type = @Type AND D1 = @D1 AND D2 = @D2)
INSERT Change VALUES (@Cash,@Type,@D1,@D2,0)
END
Что ей уже для счастья не хватает?