SQL SERVER 生成臨時數字序列

2022-06-16 13:12:10 字數 680 閱讀 4850

最近在編寫 sql 語句時,需要臨時生成乙個數字序列,以便和其他表進行合併,但是不要使用表或者生成臨時表,要求結果大致如下:序號1

2345

……不過 sql 並沒有直接的函式支援這件事,所以在網上查了很多,都不太滿足想要的,大致原因有這些:

1:不太容易理解;

2:效能開銷大;

3:需要從其他表進行查詢或者需要生成臨時表;

4:範圍有限制,只能生成一定序列;

最後找到了乙個比較滿意的:(在我的資料庫上 100,000 行花了3秒)

select row_number() over (order by (select null)) as n from 

(values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) x1(x),

(values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) x2(x),

(values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) x3(x),

(values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) x4(x),

(values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) x5(x)

order by n

臨時表空間 臨時資料檔案管理。

1 確定對應的臨時檔案不包含任何事務 select alter system kill session t2.sid t2.serial immediate t1.segfile t2.status,t2.type from v sort usage t1,v session t2 where t1...

oracle臨時資料檔案

臨時資料檔案屬於臨時表空間。跟常規的資料檔案有如下差異 1 臨時資料檔案總是被設定成nologging 2 不能使臨時資料檔案唯讀 3 不能使用alter database建立臨時資料檔案 4 介質恢復 media recovery 不能恢復臨時資料檔案 5 建立臨時資料檔案時,oracle並不總是...

SAS 檢視臨時資料集

當sas的過程步達到一定量的時候,中間總會有一些臨時資料集,如果想要檢視臨時資料集的資訊,有哪些途徑呢 1.直接將臨時資料集列印出來 procprint data temp run 2.需要檢視的是多個資料集呢 先在當前資料夾下建立乙個新的資料夾 bak libname bak bak option...