2013-05-26 55 views
0

我有表產品,product_sn選擇插入腳本SQL錯誤

每個產品都有一個或mutltiple SN(SERIALNUMBER) 所以讓我們來想象我已經產品ID = 11,產品名稱=「牛奶」我想複製所有SERIALNUMBER從produt_sn成表產品

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) ?? 

回答

1
declare @sn bigint 
select @sn from product_sn 

這肯定會在這裏拋出一個錯誤,因爲你試圖選擇多行成一個單一的變量。

要解決這個問題,請嘗試以下操作:

insert into product(serialnumber) 
select serialnumber 
from product_sn 
+0

怎麼樣編號,產品名稱? –

+1

ID將由SQL Server自動生成,並且表'product_sn'沒有定義產品名稱。如果你想分配一個靜態的產品名,改變插入語句以包含一個。 –

-1

我只是猜測這裏,因爲你沒有提供實際的錯誤,但它似乎您試圖插入值的字段,它被定義爲標識,以及沒有。

只是寫:

insert into product values (productName,@sn)