여기에 거래가 있습니다. C#에서 배열을 받았습니다. @idUser int
및 @idRegion int
인 2 개의 열만있는 다음 테이블에 삽입하려고합니다.이 간단한 저장 프로 시저가 작동하지 않는 이유
저장 프로 시저가 배열을 받아 테이블에 삽입해야하지만 어떻게 든 작동하지 않으면 @idRegion
을 int로 변환 할 수 없다고 알려줍니다. CAST
및 CONVERT
을 int로 변환하려고 시도했지만 작동하지 않습니다.
Select From
은 정상적으로 작동하지만 삽입되지는 않습니다. NVARCHAR 값을 변환 할 때
변환 실패 : 그것을 실행 때이 오류가
@idUser int, @idRegion nvarchar(MAX) AS BEGIN INSERT INTO [UsersRegion] (idUser,IdRegion) VALUES (@idUser, @idRegion) SELECT @idUser,cast(value as int) FROM STRING_SPLIT(@idRegion,',') END
: 여기
저장 프로 시저 (@idUser
필요가 삽입 된 모든 행에 대해 동일하게)입니다 '1,2,3,4'를 데이터 유형 int로 변경하십시오.
캐스트와 변환이 작동하지 않는 것 같습니다 : ( – Dog
오 숫자는 숫자의 배열이 아닐까요? 그게 제가 두려워하는 것을 도와주지 않을 것입니다 ... 코드 Yoshi가 제대로 된 것 같아요. –