2010-06-28 20 views
10

इस कोड काम नहीं करता है के अंदर दृश्य बनाने नहीं कर सकते, लौटने?क्यों मैं त्रुटि एक शुरू ... अंत ब्लॉक

नोट्स:

  • GO बयान की उपस्थिति में कोई अंतर नहीं

  • भीतरी बयान कोड ब्लॉक सीमांकक के ठीक बाहर काम करता है बनाने के लिए लगता है।

  • यह एक बड़ी क्वेरी का हिस्सा है लेकिन अलगाव में परीक्षण किया गया है, जैसा कि यह प्रस्तुत किया गया है।

+0

क्या कोई कारण है कि आप इसे एक BEGIN ... END ब्लॉक के अंदर रखने की कोशिश कर रहे हैं? –

+0

अगर इसकी धारा –

+0

की सामग्री है तो आप किस परिस्थिति में सशर्त रूप से एक दृश्य बनाना चाहते हैं? ऐसा लगता है कि आप गलत तरीके से दृश्य का उपयोग कर रहे हैं। – Gabe

उत्तर

20

यह क्योंकि बनाएं का दृष्टिकोण एक बैच में पहले बयान this MSDN reference में वर्णित के रूप में होना चाहिए।

इसके बजाय, आप कर सकते हैं: उदा।

..... 
    BEGIN 
     EXECUTE('CREATE VIEW [dbo].[dummy] AS SELECT 1 AS Dummy') 
    END 
+1

मैंने उस लेख को देखा, लेकिन सोचा कि 'बैच' को BEGIN और END के बीच कोड को संदर्भित किया गया है - तो क्या गो कीवर्ड के बैच के लिए एकमात्र डिलीमीटर है? –

-1

आप अस्थायी दृश्य बनाने के लिए तीन तरीकों का उपयोग कर सकते हैं।

1- AdaTheDev उत्तर।

2-एक अस्थायी तालिका बनाएं, फिर उसमें मान डालें जैसे create Table #TableName (ID integer)See this Link

3- सामान्य तालिका अभिव्यक्ति [के साथ] का उपयोग करना। See this Link

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