यह एक आसान जवाब लेकिन मैं बहुत लंबे समय के लिए यह घूर किया गया है हो सकता है ...सरल गतिशील TSQL क्वेरी सिंटैक्स
मेरे पास निम्न क्वेरी कि एक चर नाम और मायने रखता है के रूप में एक संग्रहीत प्रक्रिया इनपुट पैरामीटर लेता है उस तालिका में रिकॉर्ड। मैं गतिशील कथन (@toStartStr) के परिणामों को एक चर (@toStart) में पुनर्प्राप्त करना चाहता हूं।
-- @tempTableName = SProc input parameter
DECLARE @toStartStr nvarchar(150);
DECLARE @toStart int;
SET @toStartStr = 'SELECT @toStart = COUNT(ID) FROM ' + @tempTableName;
EXEC(@toStartStr);
अभी, एक त्रुटि पता चलता है कि @toStart स्ट्रिंग का चयन साथ concatenated नहीं किया जा सकता है, लेकिन यह मैं क्या चाहते का सार है। क्या कोई देख सकता है कि मैं क्या गलत कर रहा हूं? या एक विकल्प का सुझाव है? एफवाईआई एसक्यूएल 2008 आर 2। धन्यवाद।
यह हमेशा सत्य नहीं है कि आप ** sa ** उपयोगकर्ता हैं। मुझे लगता है कि इस क्वेरी को निष्पादित करने के लिए व्यवस्थापक अधिकारों की आवश्यकता है। सही? – Pankaj
नहीं, मैंने अभी एक ऐसे सिस्टम पर परीक्षण किया जहां मेरे पास व्यवस्थापकीय अधिकार नहीं हैं और यह ठीक चलता है। – JNK
@ कानावी नहीं, sys.partitions देखने के लिए व्यवस्थापक अधिकारों की आवश्यकता नहीं है। कोड को हटाने के लिए कहने से पहले क्या आपने इसे आजमाया था? –