2008-10-21 3 views
5

मेरे पास इस तरह की एक साधारण क्वेरी है:एक एमएसएसएलएल संग्रहीत प्रक्रिया में चर के लिए वाक्यविन्यास क्या है?

select * from mytable where id > 8 

मैं 8 को एक चर बनाना चाहता हूं। Xzx22

declare @myvar int 
myvar = 8 

जैसे कुछ वाक्यविन्यास हैं लेकिन मुझे सटीक वाक्यविन्यास नहीं पता है।

यह क्या है?

धन्यवाद!

+2

मैं आपके नाम के बारे में आश्चर्यचकित होना शुरू कर रहा हूं, श्री डाटाबेस – DOK

+2

मेरा मध्य नाम "क्या है": -] – MrDatabase

उत्तर

14

यह है:

DECLARE @MyVariable INT 
SET @MyVariable = 8 
1
declare @myvar int 

select @myvar = 8 
5
declare @myvar int 

Set @myvar = 8 

select * from mytable where id > @myvar 
3

स्पष्ट करने के लिए: दोनों सेट और चयन काम है, लेकिन सेट एएनएसआई मानक है। हालांकि, अगर आप एक से अधिक मान स्थापित कर रहे हैं एक ही बार में, तो

SET @one = 1 
SET @two = 2 

अगर हो जाएगा बहुत थोड़ा

की तुलना में धीमी
SELECT @one = 1, @two = 2 

क्या आप गति में लाभ अच्छी तरह से, पठनीयता और स्पष्टता की भरपाई की जा सकती है लेकिन।

संबंधित मुद्दे