推 evernever:我的只有到2047. 寫成function也是可以. 但還是沒好方法 04/19 07:43
迴圈不一定就慢;
效能這檔事…我是抓不準,
通常都是同一個問題想幾個不同的解法,一個一個試,哪個快就用哪個。
所以我好奇的是你遇到什麼問題、狀況,有沒有不用一一列舉數列的解法。
※ 編輯: grence 來自: 61.229.193.203 (04/23 03:48)
誤會一場,我以為你是要某個table的前 N筆。
SQL SERVER有內建一個表,spt_values
select number from master..spt_values where type='p'
這樣可以撈出一個從 1開始的整數列,到多大就忘了,好像是 4096吧
請問列出數列的用意為何?感覺寫成 SQL的 function之後使用會比較順手
然後,用迴圈不一定就比較慢…可能是差不多慢XD
在意效能還是實際測試吧!
※ 引述《evernever (NeverEver)》之銘言:
: 標題: [SQL ] MS-SQL 2008 如何 Select 1 to n?
: 時間: Fri Apr 17 13:58:09 2009
:
: 請問各位大大
: 如果我有一個 StoreProcedure, input @n int
: 我該如何傳回 Table 值 1 to n?
:
: 例如:
: exec MySP 100 exec MySP 1024
:
: n n
: ----------- -----------
: 1 1
: 2 2
: 3 3
: . .
: . .
: . .
: 98 1022
: 99 1023
: 100 1024
:
: (100 row(s) affected) (1024 ro(s) affected)
:
: ====================================
: 目前想到的辦法只有笨笨的用 While loop跑
: 一個一個塞進Temp table
: 在最後一次select 出來
:
: 但這樣當數字越大, 好像就會越慢
: 不知道有沒有更好的方法...
:
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 61.88.112.42
: ※ 編輯: evernever 來自: 61.88.112.42 (04/17 14:00)
: 推 grence:select top 1024 * from table order by n 04/17 19:25
: → evernever:table是哪個table? 我只是純粹要1至n的整數而已 04/17 20:21
: → evernever:如果n=2048呢?table沒那麼多紀錄的話,就沒辦法了 04/17 20:27
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.229.201.179