आपको हैश (#) टेबल का उपयोग करना चाहिए, जिसे आप वास्तव में खोज रहे हैं क्योंकि चर मूल्य केवल उस निष्पादन तक ही रहेगा। उदा। -
declare @TEMP table (ID int, Name varchar(max))
insert into @temp SELECT ID, Name FROM Table
जब दो से नीचे और दो बयान अलग से निष्पादित होते हैं।
SELECT * FROM @TEMP
WHERE @TEMP.ID = 1
त्रुटि दिखाई देगी क्योंकि जब आप दूसरी बार क्वेरी के बैच निष्पादित करते हैं तो परिवर्तनीय मान खो जाता है। जब आप कोड का एक संपूर्ण ब्लॉक चलाते हैं तो यह निश्चित रूप से ओ/पी देता है।
हैश तालिका अस्थायी मूल्य को संग्रहीत करने और पुनर्प्राप्त करने का सबसे अच्छा विकल्प है। यह तब तक चलता है जब तक कि अभिभावक सत्र जीवित न हो।
स्रोत
2017-07-21 05:54:20
'से चुनें * @ टीईएमपी टी से चुनें जहां टी.आईडी = 1' – GriGrim