2011-11-18 66 views
1

我有表id, title, showCount如何使用select和update創建存儲過程

我需要從表中得到TOP 10行並將其設置爲showCount +1

這是怎麼回事?

+1

首先告訴我們你試過了什麼? –

+0

這是什麼意思「頂」? –

+0

@skk,我沒有試過。我創建了一個請求sql SELECT TOP。和10請求UPDATE showCount。 –

回答

0

我不明白你的目的,但你可以試試這個

CREATE TABLE #tbl (id int identity(1,1), title varchar(50), showCount int) 

INSERT INTO #tbl (title, showCount) 
VALUES ('q',1),('qw',2),('qe',3),('qr',4),('qt',5),('qy',6),('qu',7),('qh',8),('qx',9),('qs',10), ('qs',100) 


UPDATE T1 
SET T1.showCount=T1.showCount+1 
FROM #tbl T1 
    JOIN (SELECT TOP 10 id, showCount 
      FROM #tbl) T2 ON T1.id=T2.id 

SELECT * 
FROM #tbl 

DROP TABLE #tbl 

而且,你要明白,在這個例子中TOP 10行將會以隨機順序進行更新。

您可以在Books OnLine(F1)中找到如何CREATE PROCEDURE

+1

查詢中的前10條記錄按「隨機」排序,通常情況並非如此:-)。 –

+0

@MichałPowaga我不知道如何用英語說,但在俄羅斯我們說:這是一個問題,這是一個答案。 –

+0

不知何故,你是對的:-)。 –

0
CREATE PROCEDURE YourProceduresNameHere 

AS 

-- Put the code you want to run here 

您可能會發現the documentation有趣。