2016-06-24 2 views
0

Я пытаюсь вставить некоторые значения в SQL Server, но я получаю сообщение об ошибке:Вставка несколько значений в SQL Server

Строка 2: Неправильный синтаксис около «»

мне нужно для ввода нескольких значений в 1 таблице, поэтому я искал более быстрый способ не вставлять 1 за раз.

По какой-то причине у меня всегда есть проблемы с базами данных :(

Мой запрос является:

INSERT INTO PERSONALRH_NIVEL (SERHGCCAB, PUESTO_ID, COMPANIA_ID, REGION_ID, TIPO_EMPLEADO) 
VALUES (81570, 4, 2001, 2, 'N'), 
     (81570, 4, 2001, 3, 'S'), 
     (81570, 4, 2001, 3, 'N'); 

Спасибо заранее, Дэвид

+3

Ваш синтаксис выглядит отлично. Какую версию SQL Server вы используете? –

+0

См. Принятый ответ здесь http://stackoverflow.com/questions/22235531/sql-insert-into-select-from-multiple-fields. –

+0

@ JimHewitt. , , Этот вопрос относится к MySQL и не является лучшим методом для SQL Server. –

ответ

2

Для ol der версий SQL Server вы можете использовать вставку с помощью выбора

INSERT INTO PERSONALRH_NIVEL (SERHGCCAB, PUESTO_ID, COMPANIA_ID, REGION_ID, TIPO_EMPLEADO) 
SELECT 81570, 4, 2001, 2, 'N' 
UNION ALL 
SELECT 81570, 4, 2001, 3, 'S' 
UNION ALL 
SELECT 81570, 4, 2001, 3, 'N'; 
+0

Отлично! это сработало, спасибо Евгению, что вы сохранили мою большую работу: D И спасибо вам за ваше время, это не случилось со мной, версия была проблемой – David

+0

@David Я рад, что это помогло. –

0

Это зависит от версии SQL Server вы используя. Вставить Into() VALUES(),() работает только в SQL Server 2008 и новее. Если вы используете SQL Server 2005, вам нужно использовать отдельные инструкции Insert.

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