mssql Запрос не возвращает значение

SiZE

Новичок
Добрый день. Ситуация в следующем. Вызываю хранимую процедуру для сохранения данных.

PHP:
declare
	@Res bigint,
	@ErrCode int,
	@ErrMessage varchar(4000),
	@CmpCallCard_Numv bigint,
	@CmpCallCard_Ngod bigint;

SET @Res = :CmpCallCard_id;
			
SET @CmpCallCard_Numv = (select ...);
SET @CmpCallCard_Ngod = (select ...);

exec proc_test @CmpCallCard_id = @Res output, @CmpCallCard_Numv = @CmpCallCard_Numv, @CmpCallCard_Ngod = @CmpCallCard_Ngod, @Error_Code = @ErrCode output, @Error_Message = @ErrMessage output;

select @Res as CmpCallCard_id, @ErrCode as Error_Code, @ErrMessage as Error_Msg;
так вот если переменным присвоить значение через SELECT

PHP:
SET @CmpCallCard_Numv = (select ...);
SET @CmpCallCard_Ngod = (select ...);
то в результате запрос никаких данных из последнего select не вернет, но если допустим присвоить руками
PHP:
SET @CmpCallCard_Numv = 123;
SET @CmpCallCard_Ngod = 123;
то вернет например CmpCallCard_id=12312, Error_Code=NULL и Error_Msg=NULL;

Почему так может быть?
 
Сверху