2012-06-13 62 views
0

如果我在表變量中插入一組Row。我select * from table後在爲了它會給我的輸出。就是它會插入的順序將其更改缺省情況下select語句的順序是什麼

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

它應被視爲隨機順序。它取決於數據庫服務器。

相關問題