SELECT INSERT脚本sql错误

时间:2013-05-26 10:55:31

标签: sql sql-server-2005

我有桌面产品,product_sn

每个产品都有一个或多个sn(serialNumber) 所以让我们想象我的产品id = 11,productName ='milk'我希望将produt_sn中的所有serialNumber复制到表产品中

declare table product (
    id int identity(1,1) primary key,
    productName varchar(100),
    serialNumber BIGINT
)

declare table product_sn (
    serialNumber BIGINT
)


product_sn (
    867635017749586,
    867635017734984,
    867635017753893,
    867635017724894,
    867635017749727,
    867635017725289,
    867635017752739,
    867635017724761,
    867635017756193,
    867635017756268
)

declare @sn bigint
select @sn from product_sn
insert into product values (id,productName,@sn) ?? 

2 个答案:

答案 0 :(得分:1)

declare @sn bigint
select @sn from product_sn

这肯定会在这里引发错误,因为你试图在一个变量中选择多行。

要解决此问题,请尝试以下操作:

insert into product(serialnumber)
select serialnumber
from product_sn

答案 1 :(得分:-1)

我只是在这里猜测,因为你没有提供实际的错误,但似乎你试图将值插入到被定义为身份的字段,不会。

只写:

insert into product values (productName,@sn)