climber
22:57 25-05-2009
Хто тут самый умный? Я вот сегодня полчаса убил на то, чтобы понять, почему не работает
insert into table1 (field1, field2, field3, field4) values select field5, field6, field7, field8 from table2 where <куча всяких условий>

Конечно, потом было как в том детском анекдоте, где на третий день индеец Острый Глаз заметил, что одной стены нет...
Комментарии:
Hamaan
22:56 26-05-2009
скобге?
climber
23:35 26-05-2009
Не, не угадал )))
На самом деле надо было лишь внимательно почитать, что в доке написано про команду insert. И все станет ясно. Ключевое слово - внимательно
Самое обидное, что когда я догадался, то вспомнил, что один раз сталкивался с той же проблемой и тоже полчаса тупил... Теперь я это никогда не забуду
Hamaan
01:09 02-06-2009
climber, так а чо было-то? И, да, какой диалект-то?
climber
21:50 02-06-2009
Это не диалект.
Просто надо не путать
insert into table1 (field1, field2, field3, field4) values (1, 2, 3, 4)
и
insert into table1 (field1, field2, field3, field4) select field5, field6, field7, field8 from table2
И всего делов
Hamaan
21:54 02-06-2009
climber, так. Стоп. Теперь я туплю.
Первый вариант работает, второй - нет. Так?
Или работают оба?
То, что первый работает - это понятно.
climber
22:04 02-06-2009
Ага, работают оба. Фишка в том, что если ты инсертишь значения - то пишешь values, а если инсертишь подзапрос - то без values пишешь сразу select. Сравни второй запрос из моего ответа и запрос в самом первом посте:
Неправильно:
insert into table1 (field1, field2, field3, field4) values select field5, field6, field7, field8 from table2 where <куча всяких условий>
Правильно:
insert into table1 (field1, field2, field3, field4) select field5, field6, field7, field8 from table2 where <куча всяких условий>
Hamaan
22:25 02-06-2009
climber, ты знаешь, я вот только вспомнил, что где-то с год назад сталкивался именно с этим и так же тупил.
З.Ы. Когда сейчас смотрел твой ответ, пропустил values в изначальном запросе.
climber
22:39 02-06-2009
Ага, надо разработчикам стандарта написать, что у них стандарт фиговый. Люди путаются