子查询返回的值超过1。

时间:2015-02-24 13:17:21

标签: sql sql-server stored-procedures

子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。

我创建sp,我想获取phonenumbers并拆分它们,然后插入数据库

ALTER proc [dbo].[Mysp_ExistphoneInsert]
@Numbers nvarchar(MAX),
@countryID int
as
insert into tblPhoneNumber (PhoneNumber , [Enabled] , CountryID)
Values ((select Item from dbo.MyFunc_Split(@Numbers, ',')) , 1 , @countryID)

我的@Numbers数据的样本: “201001000009,201001000006,201001000005,201001000004,201001000002,201001000000,”

1 个答案:

答案 0 :(得分:4)

使用insert . . . select而不是insert . . . values

insert intotblPhoneNumber(PhoneNumber, [Enabled], CountryID)
    select Item, 1, @countryID
    from dbo.MyFunc_Split(@Numbers, ',');