Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как произвести вставку строки в таблицу  [new]
FAM
Member

Откуда:
Сообщений: 361
Мне надо вставить строку из таблицы с аналогичной структурой. Как это можно сделать?
Например, insert into table1 select * from table2
Есть такие конструкции?
3 фев 14, 12:44    [15509580]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
FAM
Есть такие конструкции?

Есть.
3 фев 14, 12:47    [15509614]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
FAM,

как можно гарантировать одинаковый порядок полей с одинаковым именем?
Никак! Это говнокод.
Надо перечислять поля и в INSERT, и в SELECT
3 фев 14, 13:15    [15509836]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
FAM
Member

Откуда:
Сообщений: 361
iap
FAM,

как можно гарантировать одинаковый порядок полей с одинаковым именем?
Никак! Это говнокод.
Надо перечислять поля и в INSERT, и в SELECT


Брат, ты наверное не писал инсерты для таблиц , в которых по 200 полей? Причем поправить вьюху гораздо проще, чем писать такой инсерт. И еще: скорость работы удаленного клиента будет в разы хуже, чем такой вот серверный вариант исполнения вставки.
Так что не стоит горячиться с выводами.
3 фев 14, 13:29    [15509921]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
FAM
Брат, ты наверное не писал инсерты для таблиц , в которых по 200 полей?

А кто будут переписывать ваш select * при изменении числа или порядка полей в таблице ?
3 фев 14, 13:31    [15509946]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
FAM
iap
FAM,

как можно гарантировать одинаковый порядок полей с одинаковым именем?
Никак! Это говнокод.
Надо перечислять поля и в INSERT, и в SELECT


Брат, ты наверное не писал инсерты для таблиц , в которых по 200 полей? Причем поправить вьюху гораздо проще, чем писать такой инсерт. И еще: скорость работы удаленного клиента будет в разы хуже, чем такой вот серверный вариант исполнения вставки.
Так что не стоит горячиться с выводами.
Я не предлагал писать имена полей вручную.
Так что спокойнее надо реагировать.
200 полей я видел в одном говнопродукте - PeopleSoft Enterprise One (J.D.Edwards Enterprise One), который сейчас принадлежит Oracle...
Это всего лишь признак отвратительно спроектированной системы.
Так мне говорит мой опыт.

Насчёт "в разы хуже" - не понял. Какая ещё "вьюха"? Здесь говорилось о какой-то "вьюхе"?
Или имеется в виду длина строки со звёздочкой и длина строки со списком полей?
Тогда это надо поместить в тему "Анекдоты".
3 фев 14, 13:42    [15510023]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4478
FAM
Брат, ты наверное не писал инсерты для таблиц , в которых по 200 полей?

А склеить два сгенерированных запроса по правой педали мыши "Script Table As/INSERT to" и "Script Table As/SELECT to" не пробовали?
3 фев 14, 13:46    [15510063]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
FAM
Member

Откуда:
Сообщений: 361
[quot iap]
FAM
пропущено...
Насчёт "в разы хуже" - не понял. Какая ещё "вьюха"? Здесь говорилось о какой-то "вьюхе"?
Или имеется в виду длина строки со звёздочкой и длина строки со списком полей?
Тогда это надо поместить в тему "Анекдоты".


Объясняю. Дело в том, что стиль, о котором ты пишешь, устарел. Сейчас пишутся представления и уже на уровне структуры этого представления производятся все модификации. Поэтому отсутствие упоминания именно вьюхи ничего не меняет. Разумеется само собой, что последние лет 15 именно так и делается во всех системах. В т.ч. в прекрасно работающем Оракле.
3 фев 14, 13:47    [15510072]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
Glory
Member

Откуда:
Сообщений: 104751
FAM
Дело в том, что стиль, о котором ты пишешь, устарел. Сейчас пишутся представления и уже на уровне структуры этого представления производятся все модификации.

А использование * вместо списка полей тут с какой стороны ?
3 фев 14, 13:49    [15510092]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
FAM
Member

Откуда:
Сообщений: 361
Glory
FAM
Есть такие конструкции?

Есть.


Да, спасибо. Уже все работает. Мне, собственно только этот ответ и требовался.
Всем спасибо!
3 фев 14, 13:50    [15510111]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
FAM,

Oracle - это не система.
Да и всё остальное - просто набор слов.
К тому же неуместное применение кванторов детектед.

Странно всё это читать от автора вопроса "Есть такие конструкции?"
3 фев 14, 13:52    [15510135]     Ответить | Цитировать Сообщить модератору
 Re: Как произвести вставку строки в таблицу  [new]
FAM
Member

Откуда:
Сообщений: 361
iap
FAM,

Oracle - это не система.
Да и всё остальное - просто набор слов.
К тому же неуместное применение кванторов детектед.

Странно всё это читать от автора вопроса "Есть такие конструкции?"


Да, редко пишу для MsSql, подзабываются констукции - возраст, брат, память не та ))) Вот и спросил.
3 фев 14, 14:17    [15510351]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить