Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема SELECT в порядке INSERT (число прочтений - 1075 )
zenik
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 109
Зарегистрирован: 09. Октября 2007
SELECT в порядке INSERT
15. Октября 2008 :: 14:31
Печать  
В каком порядке SELECT вернет набор строк одному ему только известно. А мне надо ровно в том порядке, в котором я их туда записал. Поскольку UNION не работает для EXECUTE, наваял вот такую конструкцию:
Код
Выбрать все
CREATE PROCEDURE GetChange (@cash numeric(5))
AS
BEGIN TRANSACTION
CREATE TABLE #tmpChange (Type varchar(100), Data varchar(500))
UPDATE Change SET do = 1 WHERE do = 0 AND Cash=@cash
-- ArticleGroup
INSERT #tmpChange EXECUTE GetArticleGroup @cash
-- Article
INSERT #tmpChange EXECUTE GetArticle @cash
SELECT Type,Data FROM #tmpChange
DELETE FROM Change WHERE do = 1 AND Cash = @cash
COMMIT TRANSACTION
GO
 



т.е. в SELECT Type,Data FROM #tmpChange я хочу видеть строки в том порядке, в котором они были записаны.

Пробовал так:
CREATE TABLE #tmpChange (Stamp timestamp not null, Type varchar(100), Data varchar(500))

Но тогда начинает ругаться на вставку пустого значения в timestamp. Хотя если тоже самое делать в "живую" таблицу, прокатывает на ура. Подскажите, как его заставить вставлять timestamp или как по другому осуществить выборку в порядке вставки.
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: SELECT в порядке INSERT
Ответ #1 - 15. Октября 2008 :: 14:45
Печать  
а может просто в таблице завести поле
Id_dop int  IDENTITY(1,1)
и сортировать по этому полю
либо вариант заведи поле date которое заполняется при insert и
сортировку по нему.
  
Наверх
 
IP записан
 
zenik
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 109
Зарегистрирован: 09. Октября 2007
Re: SELECT в порядке INSERT
Ответ #2 - 15. Октября 2008 :: 15:05
Печать  
Ага, оно. Спасибо!
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать