2012-06-13 1 views
0

Если я вставляю набор строк в переменную таблицы. После этого я select * from table, в каком порядке это даст мне выход .а будет порядок введения он будет изменитьКаким будет порядок выписки по умолчанию

DECLARE @next_seq_val NCHAR(50) 
    DECLARE @tbl TABLE(
    seq NCHAR(50) 
    ) 
    EXEC [dbo].[ix_NextSeq] 
     @seq_id = 58, 
     @next_seq_val = @next_seq_val OUTPUT 
    insert into @tbl(seq) values(@next_seq_val) 
    SELECT * FROM @tbl 

ответ

2

строк в таблице не отсортированы. Нет «по умолчанию». База данных может возвращать их в любом порядке, который он находит наиболее эффективным.

Подумайте о строках в таблице, например, в корзине, у них нет заказа.

только (на самом деле!) Способ обеспечения последовательного порядка заключается в использовании ORDER BY

+0

Я хочу получить строки в порядке, в которых у меня есть вставка –

+1

@JitenderMahlawat: единственный способ гарантировать, что нужно добавить столбец, в котором хранится дата/время при вставке строки. Затем заказывайте этот столбец при извлечении строки. –

+0

@ a_horse_with_no_name Может быть, это будет возможно, добавив столбец индекса с идентификатором, а затем выберите с порядком по индексу –

0

Это следует рассматривать как случайный порядок. Это зависит от сервера базы данных.

Смежные вопросы