এসকিউএল স্ক্রিপ্টে ত্রুটি: প্রতি ব্যাচে কেবল একটি বিবৃতি অনুমোদিত


128

আমার 4 বর্গ স্ক্রিপ্ট রয়েছে যেগুলি আমি পোস্টডেপয়েজমেন্টের একটি ড্যাকপ্যাকের মধ্যে চালাতে চাই, কিন্তু যখন আমি তাদের 3 টির জন্য ভিএস প্রকল্প তৈরি করার চেষ্টা করি তখন আমি এই ত্রুটিটি পাই:

Only one statement is allowed per batch. A batch separator, such as 'GO', might be required between statements.

স্ক্রিপ্টগুলিতে INSERTডিবিতে বিভিন্ন সারণীতে কেবলমাত্র বিবৃতি থাকে । এবং তাদের সব যেমন কাঠামোগত হয়

IF NOT EXISTS (SELECT 1 FROM dbo.Criteria WHERE Name = 'Mileage') INSERT INTO dbo.Criteria(Name) VALUES ('Mileage');

শুধুমাত্র বিভিন্ন টেবিলে এবং বিভিন্ন ডেটা সহ।

আমার প্রশ্ন হ'ল যখন ভিপিএস সিন্টেক্স এবং ক্রিয়াকলাপের ক্ষেত্রে সমস্ত লিপি একই রকম হয় তখন কেন সেগুলির মধ্যে 3 টি সম্পর্কে অভিযোগ করা হচ্ছে?

PS: ত্রুটিটি বোঝায় যে বিবৃতিগুলির মধ্যে 'জিও' যুক্ত করা কোনও কাজ করে না।

উত্তর:


319

আমি সমস্যা পাওয়া। আমি যখন ভিএস-তে ফাইল যুক্ত করেছি তখন আমি Build Action = Noneফাইলের বৈশিষ্ট্যগুলি থেকে সেট করতে ভুলে গিয়েছিলাম । সুতরাং সমস্যাটি স্থির করে পরিবর্তন এবং প্রকল্পটি এখন সংকলন করে।


26
দুর্দান্ত ধরা বাহ, মাইক্রোসফ্ট, সিরিয়াস ?? ত্রুটি বা এর বার্তাটি কোনওভাবে, আকার বা আকারে কীভাবে স্বজ্ঞাত?
মাইক কে

9
এই উত্তরটির প্রশংসা করুন, আপনার "ভুলে যাওয়া" ব্যবহারের দ্বারা আমি বিভ্রান্ত হওয়া ব্যতীত - বিশ্বের প্রথম স্থানে এটি কীভাবে প্রয়োজনীয় তা জানা কীভাবে?
পেট্টিস

2
কারণ আমি কিছুক্ষণ আগে একটি অনুরূপ স্ক্রিপ্ট করেছি এবং কেউ আমাকে বিল্ড অ্যাকশন কিছুই না সম্পর্কে বলেছিল :)
Cosmin Ionascu

এটি আমার সমস্যাটি স্থির করেছে। থাম্বস আপ!
নাচ 2die

3
দুর্দান্ত! আমার দিন বাঁচিয়েছে। এবং এমএসবিল্ডকে এমন একটি বিভ্রান্তিমূলক বার্তা বলে লজ্জা
Dio Phung

8

এটি বেশ পুরানো বলে মনে হচ্ছে না কেন আমি সেই সাথে কয়েক ঘন্টার জন্য আটকেছি এবং আমি মনে করি যে এই পথটি অনেকের পক্ষে সহায়ক হতে পারে।

ইন Database project, হিসাবে সেট করা ফাইলগুলি Buildডাটাবেস কাঠামো হিসাবে বিবেচিত হয় তাই নকশার মাধ্যমে এই জাতীয় ফাইলটিতে কেবলমাত্র একটি বিবৃতি অনুমোদিত হয় allowed Goবা অন্য কোনও ব্যাচের টার্মিনেটর সেই আচরণ পরিবর্তন করবে না, এই বার্তাটি কেবল ভুল। আরও তথ্য এখানে।

এই জাতীয় প্রকল্পে ফাইলগুলির জন্য অনেকগুলি বিল্ড অপশন রয়েছে। আপনার ক্ষেত্রে এটি মনে হয় PostDeploy। এই ধরনের ফাইলে আপনার বিভিন্ন কমান্ড থাকতে পারে insertsইত্যাদি etc.

তারপরে আপনি ডাটা-টিয়ার ডিবি অ্যাপ্লিকেশনগুলির জন্য ড্যাকপ্যাক ফাইল হিসাবে ডাটাবেস প্রকল্পের আউটপুট ব্যবহার করতে পারেন (অন্যথায় এটি অন্তর্ভুক্ত নয়)।


-3

প্রতিটি বিবৃতিটির শেষ থেকে; (আধা-কোলন) সরান এবং আমি নিশ্চিত নই তবে উপরের সন্নিবেশ বিবৃতিগুলির মধ্যে জিও প্রয়োজন নেই।


যে কাজ. কিছু করে না। আমি জানি যে জিও প্রয়োজন নেই, তবে আমি এটি চেষ্টা করেছিলাম কারণ এটিতে আমি ২ ঘণ্টারও বেশি সময় নষ্ট করেছি।
কসমিন আয়নাসু

4
প্রতিটি বিবৃতি স্ট্যান্ডার্ড সিনট্যাক্সের পরে একটি আধা-কোলন অন্তর্ভুক্ত এবং বছরের পর বছর ধরে সমর্থন করা হয়। আধা-কলোন হারিয়ে যাওয়ার কারণে এখানে 2 টি জিনিস ভুল হয়েছে। একটি বিকাশকারীকে সেমি-কোলন অন্তর্ভুক্ত না করার পরামর্শ দেওয়া যেখানে একটি আধা-কোলন সেরা অনুশীলন প্রশ্নবিদ্ধ।
ব্র্যান্ডন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.