2010-12-17 35 views
0

我正在嘗試使用動態自動遞增列編寫存儲過程[SQL 2008],並且此語法已經讓我無法訪問。存儲過程中的SQL動態自動遞增列

如果我有一個名爲widget_nm我的目標一列小部件稱爲表是

SELECT [???] AS widget_id, widget_nm FROM widget 

,並得到以下結果

widget_id | widget_nm 
1   | bob 
2   | sally 
3   | fred 

我記得如何做到這一次,但我記憶失敗了我......任何建議?

節日快樂!

回答

5

你沒有提到你正在使用的SQL方言的,

如果你在MSSQL(TSQL)2005+使用Row_Number()功能

+0

他將問題標記爲SQL Server 2008 ...也+1 – JNK 2010-12-17 16:00:54

+1

我認爲標籤在我回答後添加了,或者我會失明:S – Robb 2010-12-17 16:02:41

4

您可以在SQL Server中使用ROW_NUMBER 2005後來:

SELECT ROW_NUMBER() OVER (ORDER BY widget_nm) AS widget_id, widget_nm 
FROM widget 
ORDER BY widget_nm 

將在widget_nm