【发布时间】:2017-10-24 02:55:02
【问题描述】:
这是交易,我从 C# 接收一个数组,我想将它插入到下表中,只有 2 列是 @idUser int 和 @idRegion int。
存储过程需要接收数组并将其插入表中,但不知何故它不起作用,它告诉我它无法将@idRegion 转换为int。我尝试使用CAST 和CONVERT 将其转换为int,但它不起作用。
Select From 工作正常,但插入不行。
这是存储过程(@idUser 需要对所有插入的行都相同):
@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
运行时出现此错误:
将 nvarchar 值 '1,2,3,4' 转换为数据类型 int 时转换失败。
【问题讨论】:
标签: sql sql-server stored-procedures subquery