【问题标题】:Add data from table to other Table SQLSERVER将表中的数据添加到另一个表 SQL SERVER
【发布时间】:2013-07-17 18:39:07
【问题描述】:

我需要你的帮助 我有两张桌子 第一个充满了所有日历数据 dim_table_start(pk_date_deb,年,月,三个月,周,日期) 我想用来自 dim_data_start 的数据填充第二个表 dim_table_end(pk_date_fin,年,月,三个月,周,日期) 我试过了:

INSERT INTO [bd_disponibilite].[dbo].[dim_date_fin]
           ([PK_Date_fin]

           ,[Year]

           ,[Trimester]

           ,[Month]

           ,[Week]
        )
     VALUES
         (select * from dbo.dim_date_Debut)

但是没用

如何添加所有数据表来填充第二个表谢谢

【问题讨论】:

    标签: sql sql-server sql-server-2005 sql-server-2000


    【解决方案1】:

    使用SELECT 插入记录时不需要VALUES 部分:

    INSERT INTO [bd_disponibilite].[dbo].[dim_date_fin]
               ([PK_Date_fin]
               ,[Year]
               ,[Trimester]
               ,[Month]
               ,[Week]
               )
    SELECT * 
    FROM dbo.dim_date_Debut
    

    【讨论】:

    • 非常感谢您的帮助
    • @Goat CO 是正确的。我只想添加一些有用的信息。如果您只在正常情况下执行此插入,但如果您打算重新使用它,我会具体说明您选择的列,而不是使用Select *。它会在未来证明您的代码不会有人在dim_date_Debut 的架构中添加一列,这会破坏您的插入。我经常看到这种错误。
    【解决方案2】:

    如果目的地还不存在,你也可以使用 选择 * INTO dbo.dim_date_fin 来自 dbo.dim_date_Debut

    这样编码速度更快,因为它也复制了架构。

    如果表存在或需要不同的属性,Goat 的答案会更好。

    【讨论】:

    • 谢谢你的回答:)
    猜你喜欢
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 2020-12-13
    • 1970-01-01
    相关资源
    最近更新 更多