Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
Kiril
Member

Откуда: Болгарии
Сообщений: 39
Что будет сделано вставки записей со следующей запрос.

INSERT INTO Table1(....). SELECT ... FROM Table2[src][/src]
Я читал в форуме, что записи будут вставлены в том порядке, в котором они были получены с SELECT
Правда ли это?
25 июн 09, 18:29    [7344841]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Никогда не интересовался
какая практическая польза от порядка, в котором вставляются записи?
25 июн 09, 18:31    [7344847]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
Kiril
Member

Откуда: Болгарии
Сообщений: 39
Паганель,

Например в тригере. INSERT INTO Table1(....) SELECT ... FROM Inserted;
Затем используйте таблицу Inserted снова, но в другое приложение.
25 июн 09, 18:44    [7344885]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
проходящий.
Guest
Kiril,

порядок, в котором записи вставятся не гарантирует порядок их физического расположения в файле данных и точно так же не гарантирует порядок их извлечения командой select. Потому говорить о каком-то порядке записей без указания принципа упорядочивания бессмысленно. Определнный порядок гарантирует только Order by.
25 июн 09, 18:47    [7344892]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
что значит "в триггере"
какая разница, в каком порядке лежат данные в "таблице" Inserted ?
при выборке из нее порядок ведь можно задавать с помощью order by
25 июн 09, 18:49    [7344896]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
msLex
Member

Откуда:
Сообщений: 7892
Где и как вы можете отследить порядок вставки?
порядок генерации Identity гарантирован (при наличии Order By).
25 июн 09, 18:51    [7344902]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
проходящий.
Guest
Паганель,
просто наш товарищ из Болгарии продолжает вот это. И никак не поймет, что порядок, в котором записи дали серверу совершенно не соответствует тому порядку, в котором сервер их у себя разложит для хранения и тому порядку, в котором сервер будет эти записи выдавать по запросу.
25 июн 09, 18:53    [7344907]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
Kiril
Member

Откуда: Болгарии
Сообщений: 39
проходящий.,

Не это.
В хелпе а читал, что запрос SELECT...INTO это не применимо(тоже не применимо за INSERT OUTPUT <table>).

В одном из форумов была большая дискуссия по этому вопросу, но, к сожалению, не может ее найти.
25 июн 09, 19:01    [7344926]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
Kiril
Member

Откуда: Болгарии
Сообщений: 39
msLex,

Спасиба за ответь.
25 июн 09, 19:08    [7344950]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
проходящий.
Guest
Kiril,
ну так хотя бы один раз за две ветки надо было упомянуть слово Indentity. Порядок вставки и порядок генерации Identity - это разные вещи.
25 июн 09, 19:14    [7344966]     Ответить | Цитировать Сообщить модератору
 Re: INSERT INTO Table1(....). SELECT ... FROM Table2  [new]
Kiril
Member

Откуда: Болгарии
Сообщений: 39
проходящий.,

Да ты прав.
Я интересовался порядок генерации Identity.
25 июн 09, 19:21    [7344985]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить