मुझे आश्चर्य है कि लेनदेन के अंदर कई डीडीएल विवरणों को चलाने के लिए संभव है या नहीं। मैं विशेष रूप से SQL सर्वर पर रूचि रखता हूं, भले ही अन्य डेटाबेस (ओरेकल, पोस्टग्रेएसक्यूएल कम से कम) के साथ उत्तर भी दिलचस्प हो।क्या लेनदेन के अंदर कई डीडीएल स्टेटमेंट चलाने के लिए संभव है (SQL सर्वर के भीतर)?
मैं लेनदेन के अंदर बनाई गई तालिका के लिए कुछ "तालिका बनाएं" और "दृश्य बनाएं" कर रहा हूं और कुछ असंगतताएं प्रतीत होती हैं और मुझे आश्चर्य है कि लेनदेन के अंदर डीडीएल नहीं किया जाना चाहिए। ..
मैं शायद लेन-देन के बाहर ले जाने के DDL सकता है, लेकिन मैं इसके लिए कुछ संदर्भ प्राप्त करना चाहते हैं। मैं इतनी दूर क्या पाया है:
- MSDN पेज Isolation Levels in the Database Engine स्पष्ट रूप से है कि वहाँ क्या DDL संचालन एक स्पष्ट लेनदेन है कि स्नैपशॉट अलगाव के तहत चल रहा है में किया जा सकता पर प्रतिबंध है बताता है - लेकिन मैं स्नैपशॉट अलगाव का उपयोग नहीं और यह एक त्रुटि के रूप में परिणाम होना चाहिए।
- इसका अर्थ यह हो सकता है कि डीडीएल संचालन अलग अलगाव स्तर के तहत एक स्पष्ट लेनदेन में प्रदर्शन किया जा सके? सीधे इस्तेमाल किया एसक्यूएल सर्वर के लिए इस वैध है भी -
- Oracle® Database Gateway for SQL Server User's Guide#DDL Statements कहा गया है कि केवल एक DDL बयान दिए गए लेन-देन में क्रियान्वित किया जा सकता?
ओरेकल के लिए:
- के भीतर ऐसा Unit testing DDL statements that need to be in a transaction सवाल यह कहा ओरेकल निहित है कि है एक DDL बयान के लिए प्रतिबद्ध? (भले ही कोई संदर्भ नहीं)
यदि यह कुछ मायने रखता है, तो मैं जावा के साथ जेटीडीएस जेडीबीसी ड्राइवर के माध्यम से ऐसा कर रहा हूं।
बीआरआर Touko
मैं जेडीबीसी कनेक्शन # setAutoCommit (झूठा) का उपयोग कर रहा हूं और डीएमएल कथन अंतर्निहित लेनदेन के साथ नहीं किया जाता है। परिणाम अधिक दिखते हैं कि तालिका बनाने के लिए तालिका हमेशा वहां या कुछ नहीं होगी। – Touko
संपादित करने के लिए: यह हो सकता है लेकिन मुझे SQL सर्वर दस्तावेज़ या कुछ ऐसा कुछ संदर्भ चाहिए, चाहे वह है या अनुमति नहीं है .. – Touko
मैंने इस पुस्तक का उपयोग किया, देखें कि क्या आपको ऑनलाइन मिल रहा है? माइक्रोसॉफ्ट® एसक्यूएल सर्वर® 2008 टी-एसक्यूएल बुनियादी बातों प्रिंट आईएसबीएन -10: 0-7356-2601-4 प्रिंट आईएसबीएन -13: 978-0-7356-2601-0 – Stuart