변수에 다음 ID 값을 지정하고이를 문자열 변수에 결합합니다. 하지만 오류가 발생했습니다 :varchar 값 'XY-21'을 데이터 유형 int로 변환 할 때 변환이 실패했습니다.
varchar 값 'XY-21'을 데이터 유형 int로 변환 할 때 변환이 실패했습니다.
절차는 다음과 같다 : 나는 프로 시저를 실행할 때
ALTER PROCEDURE [dbo].[SPInsertNewDetail]
(
@MLNo varchar(20)= null,
@MCL varchar(20)= null, --Suppose it has value XY-
@MCCL VARCHAR(20) OUTPUT
)
AS
DECLARE @Next_Id int
SELECT @Next_Id = IDENT_CURRENT('New_Master') + IDENT_INCR('New_Master') //Suppose it is 21
PRINT @Next_Id
SET @MCCL = @MCL + cast(@Next_Id as varchar)
PRINT @MCCL
INSERT INTO New_Master
(MCCL, MLNo)
VALUES (@MCCL, @MLNo)
PRINT @MCCL
RETURN @MCCL
는 널 (null)로 @MCCL를 반환하지만 표는 올바른 값을 가지고있다.
질문은'VARCHAR'에'INT'에서 변환 말한다하지만 코드는 VARCHAR''에 INT''로 변환했다. 'New_Master' 테이블에'MCCL' 컬럼의 데이터 타입은 무엇입니까? –
'@ MCL' = NULL, 어디에서 설정합니까? 또는 sproc이 호출 될 때 어떤 값이 주어 집니까? – NickyvV
@VladimirOselsky, 그것은 varchar입니다. – Dhwani