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

Откуда:
Сообщений: 17
Почему в данной ситуации не происходит сортировка при вставке в таблицу?(((
CREATE TABLE #table (id INT,a INT)
SET @i=1
WHILE @i <=10
BEGIN
---
INSERT INTO #table (id, a) VALUES (@i,@a)
SET @i=@i+1
END
INSERT INTO MyTable SELECT * FROM #table ORDER BY a
DROP TABLE #tabel
23 дек 12, 09:51    [13672467]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
step_ks
Member

Откуда:
Сообщений: 936
Виктор62
Почему в данной ситуации не происходит сортировка при вставке в таблицу?(((
CREATE TABLE #table (id INT,a INT)
SET @i=1
WHILE @i <=10
BEGIN
---
INSERT INTO #table (id, a) VALUES (@i,@a)
SET @i=@i+1
END
INSERT INTO MyTable SELECT * FROM #table ORDER BY a
DROP TABLE #tabel

В которую таблицу? MyTable или #table?
И что значит "не происходит сортировка"? Где вы это видите?
23 дек 12, 10:04    [13672472]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
Виктор62
Member

Откуда:
Сообщений: 17
step_ks
Виктор62
Почему в данной ситуации не происходит сортировка при вставке в таблицу?(((
CREATE TABLE #table (id INT,a INT)
SET @i=1
WHILE @i <=10
BEGIN
---
INSERT INTO #table (id, a) VALUES (@i,@a)
SET @i=@i+1
END
INSERT INTO MyTable SELECT * FROM #table ORDER BY a
DROP TABLE #tabel

В которую таблицу? MyTable или #table?
И что значит "не происходит сортировка"? Где вы это видите?


я из временной таблицы добавляю #table в таблицу MyTable. В MyTable добавляются данные, но они не отсортированы по нужному полю, получается одинаковый результат при наличии ORDER BY a и его отсутствии
23 дек 12, 11:22    [13672541]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Виктор62
В MyTable добавляются данные, но они не отсортированы по нужному полю, получается одинаковый результат при наличии ORDER BY a и его отсутствии
Сортировки не бывает при вставке данных, она бывает только при выборке.

Используйте ORDER BY при выборке из MyTable.
23 дек 12, 12:29    [13672649]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
Виктор62
Member

Откуда:
Сообщений: 17
alexeyvg
Виктор62
В MyTable добавляются данные, но они не отсортированы по нужному полю, получается одинаковый результат при наличии ORDER BY a и его отсутствии
Сортировки не бывает при вставке данных, она бывает только при выборке.

Используйте ORDER BY при выборке из MyTable.

покажите пожалуйста на моем примере!
23 дек 12, 12:49    [13672680]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
Виктор62
Member

Откуда:
Сообщений: 17
alexeyvg
Виктор62
В MyTable добавляются данные, но они не отсортированы по нужному полю, получается одинаковый результат при наличии ORDER BY a и его отсутствии
Сортировки не бывает при вставке данных, она бывает только при выборке.

Используйте ORDER BY при выборке из MyTable.


CREATE TABLE #table (id INT,a INT)
SET @i=1
WHILE @i <=10
BEGIN
---
INSERT INTO #table (id, a) VALUES (@i,@a)
SET @i=@i+1
END
[b]SELECT * FROM #table ORDER BY a[/b]
DROP TABLE #tabel

вот так работает сортировка а как теперь вставить в основную таблицу эти сортированные поля?
23 дек 12, 12:51    [13672685]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Виктор62
alexeyvg
пропущено...
Сортировки не бывает при вставке данных, она бывает только при выборке.

Используйте ORDER BY при выборке из MyTable.

покажите пожалуйста на моем примере!

CREATE TABLE #table (id INT,a INT)
SET @i=1
WHILE @i <=10
BEGIN
---
INSERT INTO #table (id, a) VALUES (@i,@a)
SET @i=@i+1
END
INSERT INTO MyTable SELECT * FROM #table
DROP TABLE #table

SELECT * FROM MyTable ORDER BY a
23 дек 12, 13:03    [13672713]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
Виктор62
Member

Откуда:
Сообщений: 17
alexeyvg
Виктор62
пропущено...

покажите пожалуйста на моем примере!

CREATE TABLE #table (id INT,a INT)
SET @i=1
WHILE @i <=10
BEGIN
---
INSERT INTO #table (id, a) VALUES (@i,@a)
SET @i=@i+1
END
INSERT INTO MyTable SELECT * FROM #table
DROP TABLE #table

SELECT * FROM MyTable ORDER BY a


ничего не меняется... да он сортирует как и раньше в селекте, но мне-то нужно чтобы в таблицу данные добавились отсортированные!
23 дек 12, 13:21    [13672787]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35398
Блог
Виктор62,

"Сортировки не бывает при вставке данных, она бывает только при выборке."
23 дек 12, 13:48    [13672850]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
aleks2
Guest
Критик
Виктор62,

"Сортировки не бывает при вставке данных, она бывает только при выборке."

Ниправда ваша. Значение поля IDENTITY при вставке в таблицу
insert aTable(aField)
select aField
from anotherTable
order by anotherField

присваиваются в порядке ORDER BY.
23 дек 12, 16:27    [13673268]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
aleks2
Критик
Виктор62,

"Сортировки не бывает при вставке данных, она бывает только при выборке."

Ниправда ваша. Значение поля IDENTITY при вставке в таблицу
insert aTable(aField)
select aField
from anotherTable
order by anotherField

присваиваются в порядке ORDER BY.


Здесь то дело не в ордер бай, а в определении свойства идентити.
23 дек 12, 16:30    [13673286]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
aleks2
Guest
Winnipuh
Здесь то дело не в ордер бай, а в определении свойства идентити.

Сам то понял, что сказал?
23 дек 12, 17:29    [13673465]     Ответить | Цитировать Сообщить модератору
 Re: Временная таблицы (T-SQL)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31990
Виктор62
ничего не меняется... да он сортирует как и раньше в селекте, но мне-то нужно чтобы в таблицу данные добавились отсортированные!
А вы скажите начальнику, что они отсортированные.

Всё равно он без селекта содержимого таблицы не увидить А когда селект будет писать, то пусть добавит ORDER BY

Я честно говоря, не пойму, какой термин вы вкладываете в "чтобы в таблицу данные добавились отсортированные"?

Что бы как то по особому распределялись намагниченные участки диска, в которых закодированны данные?
23 дек 12, 23:58    [13674469]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить