2011-06-08 16 views
23

मैं एक SQL सर्वर क्वेरी बना रहा हूं जो पैरामीटर लेगा और रिकॉर्ड नंबर को वापस करने के लिए उपयोग करेगा।SQL सर्वर - परिणाम सेट के शीर्ष एक्स का चयन करने के लिए पैरामीटर का उपयोग करें

छद्म कोड में:

parameter returnCount 

select top returnCount * from table where x = y 

सही सिंटैक्स/कोड है कि कार्रवाई करने के लिए क्या है?

+0

SQL सर्वर का कौन सा ** संस्करण ** आप उपयोग कर रहे हैं ?? –

+1

दो साल का सवाल, और आप इतने तूफान सैनिक अभी इसे डुप्लिकेट के रूप में चिह्नित कर रहे हैं? !! – pithhelmet

+0

यह बहुत देर हो चुकी नहीं है – MatteoSp

उत्तर

51

SqlServer 2005 में और ऊपर, ऐसा करते हैं:

CREATE PROCEDURE GetResults (
    @ResultCount int 
) 
AS 

SELECT top(@ResultCount) FROM table where x = y 

पहले के संस्करणों के लिए, का उपयोग करें:

CREATE PROCEDURE GetResults (
    @ResultCount int 
) 
AS 

SET ROWCOUNT @ResultCount 

SELECT * FROM table where x = y 

अधिक जानकारी के लिए http://www.4guysfromrolla.com/webtech/070605-1.shtml

15

एसक्यूएल सर्वर 2005 तक (लेकिन उससे पहले), तो आपको निर्धारित करने के लिए एक चर को परिभाषित कर सकते टॉप पंक्तियों की अपनी संख्या लौटे:

DECLARE @returnCount INT 

SET @returnCount = 15 

SELECT TOP (@returnCount) * 
FROM dbo.table 
WHERE x = y 
संबंधित मुद्दे