2013-07-18 2 views
0

пожалуйста, мне нужна ваша помощь У меня есть две таблицы первая полна всех календарных данных dim_table_start (pk_date_deb, год, месяц, триместр, неделя, день) и я хочу заполнить вторую таблицу с данными dim_data_start dim_table_end (pk_date_fin, год, месяц, триместр, неделя, дата) я попробовал:Добавить данные из таблицы в другой таблице SQLSERVER

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

      ,[Year] 

      ,[Trimester] 

      ,[Month] 

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

, но не работает

как я могу добавить все данные таблица для заполнения второй Таблица спасибо

ответ

3

Вам не нужно VALUES часть при вставке записей с помощью SELECT:

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

Благодарим вас за помощь – user2586714

+2

@Goat CO является правильным. Я просто хотел бы добавить полезную информацию. Если вы делаете эту вставку только после того, как она прекрасна, но если вы планируете ее повторно использовать, я бы уточнил, какие столбцы вы выбираете, а не используете 'Select *'. В будущем он проверяет ваш код против кого-то, добавляющего столбец в схему 'dim_date_Debut', которая сломает вашу вставку. Я вижу такую ​​ошибку много. – Stainy

0

Если адресат еще не существует, вы можете также использовать SELECT * INTO dbo.dim_date_fin от dbo.dim_date_Debut

Это быстрее кодировать, так как оно копирует схему.

Если таблица существует или нуждается в разных свойствах, ответ Goat лучше.

+0

Спасибо за ваш ответ :) – user2586714

Смежные вопросы