将相同信息插入所有商店

时间:2014-03-29 10:56:40

标签: sql sql-server-2008 insert

我的数据库中有很多商店,我有一些类似的数据必须在所有商店中。这是我的例子:

INSERT INTO [dbo].[stores] 
            ([identifiers], 
             [sales_price], 
             [discount],  
             [store]) 
VALUES      ('9788276911',  
             99, 
             20, 
             'store121') 

我是否可以在所有商店中插入此数据,而不仅仅是'store121'?只是在这里寻找一个简单的方法:)

3 个答案:

答案 0 :(得分:1)

首先,如果您没有在桌面上拥有商店名称,则应创建一个表格并用名称填充(从Excel中复制/粘贴)。

如果我们假设您的名字在表StoreNamesStore中,您可以使用这样的查询为您的所有商店向表stores插入相同的数据

INSERT INTO [dbo].[stores] 
            ([identifiers], 
             [sales_price], 
             [discount],  
             [store]) 
SELECT '9788276911',  
        99, 
        20,
        [store]
FROM StoreNames

<强> SQLFiddle DEMO

答案 1 :(得分:0)

update stores
set identifiers = '9788276911',
    sales_price = 99,
    discount = 20

将更新所有记录。

答案 2 :(得分:0)

使用@Nenad Zivkovic提出的解决方案,您还可以在一行构造函数中枚举您的15个商店,而不是阅读商店表,如果这样可以让您更轻松:

INSERT INTO [dbo].[stores] 
            ([identifiers], 
             [sales_price], 
             [discount],  
             [store]) 
SELECT '9788276911',  
        99, 
        20,
        [store]
FROM  (values
  ('store1'),('store2'),('store3'),('store4')) x(store)