2016-11-22 5 views
-1
insert into fees (name, salary) 
values ('john', 155), ('katy', 300); 

Это иногда выдает ошибкунесколько вставок в одном операторе SQL

недостающую правую скобку

иногда

SQL заявление не правильно закончился

если я использую двойные кавычки для записей имен ... В чем проблема?

+2

Какие СУБД вы используете? Oracle для одного не поддерживает этот синтаксис. И старые версии SQL Server тоже не были. При обращении за помощью вы всегда должны публиковать ** полное ** и ** точное ** сообщение об ошибке. –

+0

Что сказал @a_horse_with_no_name. Само заявление кажется прекрасным. Ваша проблема должна лежать в другом месте. – Jens

+0

@Jens: утверждение не является «хорошим», если он/она использует, например. Oracle –

ответ

0

Возможно, было бы проще иметь несколько операторов sql. Например:

INSERT INTO fees(name, salary) VALUES ('john', 155); 
INSERT INTO fees(name, salary) VALUES ('katy', 300); 

Однако, если вы хотите использовать несколько-вставок в одном-заявлении, вы можете посмотреть на https://stackoverflow.com/a/452882/651174, и сделать что-то вроде этого:

INSERT INTO fees(name, salary) VALUES ('john', 155), ('katy', 300); 

Что вы используете, чтобы сделать вставку SQL, если вы используете проблемы форматирования строк?

+0

im running from the cmd prompt – codepoetly

0

TRY Этот

INSERT INTO fees(name, salary) VALUES 
('john', 155), 
('katy', 300); 

Перейти к ссылке ниже для получения дополнительной информации

Inserting multiple rows in a single SQL query?

+1

Это как раз утверждение в вопросе, который «дает ошибку» –

+0

Я знаю, что я пропустил его .... –

-1

Вы можете использовать UNION или UNION ALL

INSERT INTO fees(name, salary) 
select 'john', 155 
union all 
select 'katy', 300 
+0

Ошибка синтаксиса в ANSI SQL. – jarlh

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