2013-03-26 2 views
-1

У меня есть странные проблемы, связанные с SQL Server 2005заявление Вставить в SQL Server 2005

При попытке вставить в таблицу

insert into IDName 
VALUES (101 , 'AA'), 
     (301 , 'BB') 

Я получаю эту ошибку

Msg 102, Level 15, Состояние 1, Строка 3
Неверный синтаксис рядом с ','.

Нет проблем, если я вставляю записи по одному.

EDIT: Спасибо за ответ ребята .... но этот скрипт работает в другой установке SQL Server 2005 ... Я думаю, что это какой-то вопрос настройки, но я не где ... если вы могли бы помочь

+2

Да, это потому, что SQL Server ** 2005 ** не поддерживает эту функцию! Это была новая функция в ** ** ** **. –

ответ

3

SQL Server 2005 не поддерживает этот синтаксис вставки; вы либо должны

insert into IDName 
SELECT 101 , 'AA' 
UNION ALL SELECT 301 , 'BB' 

или

insert into IDName VALUES (101 , 'AA'); 
insert into IDName VALUES (301 , 'BB'); 
4

Этот синтаксис был введен в SQL Server 2008. Таким образом, обновление, или использовать более многословные:

INSERT dbo.IDName(column1, column2) 
    SELECT 101 , 'AA' 
    UNION ALL SELECT 301 , 'BB'; 

Некоторые дополнительные изменения:

  1. Always use the schema prefix when referencing objects
  2. Always specify the column list for an INSERT
  3. Always use semi-colons to terminate statements