2010-08-13 18 views
10

मैं एसक्यूएल सर्वर पर एक संग्रहीत प्रक्रिया है में '## अस्थायी' नाम दिया है 2000 यह शामिल हैं:
select ... into ##Temp ...
...
drop table ##Temp
वहां पहले से ही एक वस्तु डेटाबेस

जब मैं एडीओ के साथ संग्रहीत प्रक्रिया को दूसरी बार चलाने के लिए, यह संकेत:
डेटाबेस में '## Temp' नामक एक ऑब्जेक्ट पहले से ही है।
क्या कोई मुझे कृपया बता सकता है कि क्या गलत है?

+0

क्या आप केवल तालिका चर का उपयोग नहीं कर सकते (चयन करें .. @temp में)। तो आपको टेबल को हटाने के बारे में चिंता करने की आवश्यकता नहीं है, आदि – RPM1984

+0

तालिका संरचना गतिशील है। यही कारण है कि मैं temp टेबल का उपयोग करें। – phoenies

उत्तर

18

आप अस्थायी तालिका ड्रॉप करने यदि वह मौजूद अपने संग्रहीत proc फिर से लिखना चाहिए, तो आप कभी भी इस मुद्दे

IF (SELECT object_id('TempDB..##Temp')) IS NOT NULL 
BEGIN 
    DROP TABLE ##Temp 
END 
+0

त्रुटि है <डेटाबेस में पहले से ही '## Temp' नाम का एक ऑब्जेक्ट है।> तो