এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও এবং লেনদেন এসকিউএল এ জিও এর ব্যবহার কী?


363

এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও সর্বদা একটি জিও কমান্ড সন্নিবেশ করে যখন আমি ডান ক্লিক করুন "স্ক্রিপ্ট হিসাবে" মেনু ব্যবহার করে। কেন? GO আসলে কি করে?



29
@ ক্রিসএফ - এটি কোনও সদৃশ নয়, যদিও গৃহীত উত্তরগুলিও এই প্রশ্নের উত্তর দেয়। এই প্রশ্নটি কোনও লেনদেনে "GO" ব্যবহার সম্পর্কে - এটি কেবল প্রমাণিত হয়েছে যে এটি আসলেই কোনও এসকিউএল কমান্ড নয়। এই প্রশ্নটি আরও সাধারণ এবং এসএসএমএসে জিও কমান্ড সম্পর্কে প্রশ্নের সুনির্দিষ্ট উত্তর দেওয়ার চেষ্টা করে।
tvanfosson

3
এছাড়াও এই লিঙ্কটি একবার দেখুন: ব্যাচিং বিবৃতি ভাল কি জন্য?
জয়ন রিজভী

মাইক্রোসফ্ট ডকুমেন্টেশন: এসকিউএল সার্ভার ইউটিলিটিস স্টেটমেন্টস - জিও : পূর্ববর্তী ব্যাচটি নির্দিষ্ট সময়ের নির্বাহ করবে।
মিনিট

উত্তর:


304

এটি একটি ব্যাচের টার্মিনেটর, আপনি যা চান তা এটিকে পরিবর্তন করতে পারেন বিকল্প পাঠ


80
জিবিএন এটি নির্বাচন করুন এবং কী ঘটে তা দেখুন :-)
এসকিউএলমেনেস

14
ধন্যবাদ! যাইহোক তবে জিও-র বক্তব্যের মূল বক্তব্য কী? এটি বোকা লাগতে পারে তবে 'ব্যাচের কোড' বলতে কী বোঝায়? এমএসডিএন জানার পরে ভেরিয়েবলের জীবনকাল শেষ হয়। লেনদেনের দায়বদ্ধতার সাথে কিছুই করার দরকার নেই? এমন কোনও পরিস্থিতি আছে যেখানে আমার স্ক্রিপ্টগুলিতে জিও বিবৃতি রাখা উচিত?
কেট 1138

4
এর অর্থ এটির আগে সমস্ত টি-এসকিউএল "একবারে" চালানো হবে। আমি যা বুঝতে পারি তা থেকে এটি একটি সেমিকোলন (ওএইলডিবি / ওরাকল) এর সাথে বিনিময়যোগ্য। উদাহরণস্বরূপ আপনার যদি একটি বড় পোস্ট ডিপ্লোয়মেন্ট স্ক্রিপ্ট থাকে তবে লাইনগুলির মধ্যে একটি জিও বিবৃতি স্ক্রিপ্টে ব্যবহৃত মেমরির সাহায্য করতে পারে।
অ্যান্টনি ম্যাসন

4
এই উত্তরটি সত্যই "এটি আসলে কী করে" বা তার কারণ ব্যাখ্যা করে না
অ্যান্ড্রু

@ তানফানসোনার উত্তরটি পড়ার পরে: এটি কি সেমিকোলনের সাথে সত্যই বিনিময়যোগ্য?
ওআইজি

298

ম্যানেজমেন্ট স্টুডিও 2005 সাল থেকে মনে হচ্ছে আপনি GOকোনও intপ্যারামিটার ব্যবহার করতে পারেন , যেমন:

INSERT INTO mytable DEFAULT VALUES
GO 10

উপরেরটি 10 ​​টি সারি inোকাবে mytable। সাধারণভাবে বলতে গেলে, GOসম্পর্কিত এসকিএল কমান্ড nসময় সম্পাদন করবে


199

জিও কমান্ড কোনও লেনদেন-এসকিউএল বিবৃতি নয়, তবে এস এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও কোড সম্পাদক সহ বেশ কয়েকটি এমএস ইউটিলিটি দ্বারা স্বীকৃত একটি বিশেষ কমান্ড।

জিও কমান্ডটি এসকিউএল কমান্ডগুলি ব্যাচগুলিতে গোষ্ঠী করতে ব্যবহৃত হয় যা সার্ভারে একসাথে প্রেরণ করা হয়। ব্যাচের অন্তর্ভুক্ত কমান্ডগুলি, অর্থাৎ, সর্বশেষ জিও কমান্ড বা অধিবেশন শুরুর পর থেকে কমান্ডের সেটটি অবশ্যই যুক্তিযুক্তভাবে সামঞ্জস্যপূর্ণ হতে হবে। উদাহরণস্বরূপ, আপনি একটি ব্যাচে কোনও ভেরিয়েবল সংজ্ঞায়িত করতে পারবেন না এবং তার পরে অন্যটিতে এটি ব্যবহার করতে পারবেন কারণ ভেরিয়েবলের ব্যাপ্তিটি যে ব্যাচে সংজ্ঞায়িত হয়েছে তা সীমাবদ্ধ।

আরও তথ্যের জন্য, http://msdn.mic Microsoft.com/en-us/library/ms188037.aspx দেখুন


37
কোন পরিস্থিতিতে জিনিসগুলি ব্যাচিংয়ে GOআসলে কার্যকর?
নিকোডেমাস

3
@ নিকোডেমাস
জয়ন রিজভী

4
সুতরাং যদি ব্যাচের 1 টি বিবৃতি ব্যর্থ হয়, তবে সমস্ত ব্যর্থ হয়?
মনস্টার এমএমআরপিজি

36

যান কোনও এসকিউএল কীওয়ার্ড নয়।

পুরো স্ক্রিপ্টটি ব্যাচগুলিতে ভেঙে ফেলার জন্য এটি ক্লায়েন্ট সরঞ্জামগুলি (যেমন এসএসএমএস) দ্বারা ব্যবহৃত একটি ব্যাচ বিভাজক

বেশ কয়েকবার উত্তর দেওয়া হয়েছে ... উদাহরণ 1


4
আমার প্রতিরক্ষা হিসাবে আমি প্রস্তাব জমা দেওয়ার আগে প্রস্তাবিত সদৃশগুলি সন্ধান করেছি - এবং আপনার উদাহরণটি প্রদর্শিত হয়নি, উত্তরটি প্রযোজ্য হলেও এটি সত্যই কোনও সদৃশ নয়।
tvanfosson

26
এখানে "GO" অনুসন্ধান করা কঠিন :-)
gbn

20

কেবলমাত্র বিদ্যমান উত্তরগুলি যুক্ত করার জন্য, আপনি যখন ভিউ তৈরি করছেন তখন আপনাকে অবশ্যই এই কমান্ডগুলি ব্যাচগুলিতে ব্যবহার করে পৃথক goকরতে হবে, অন্যথায় আপনি ত্রুটি পাবেন 'CREATE VIEW' must be the only statement in the batch। সুতরাং, উদাহরণস্বরূপ, আপনি নীচের স্ক্যালি স্ক্রিপ্টটি সম্পাদন করতে পারবেন নাgo

create view MyView1 as
select Id,Name from table1
go
create view MyView2 as
select Id,Name from table1
go

select * from MyView1
select * from MyView2

পদ্ধতিগুলি তৈরি করুন
লুসিও স্যান্টোস

2
এটিই একমাত্র উত্তর যা সত্যই ওপি-র প্রশ্নের প্রথম অংশকে সম্বোধন করে "... সর্বদা একটি জিও কমান্ড সন্নিবেশ করায় .... কেন?"। মনে হয়, বেশিরভাগ সময় ভয়ের বাইরে। কেবলমাত্র যখন এটি প্রয়োজন হয় তখন কোনও কমান্ডের নিজস্ব ব্যাচে থাকতে হবে।
বিলাওস্কি

7

গো মানে, এসকিউএল স্টেটমেন্টগুলি এর আগে এবং পূর্ববর্তী কোনও জিও এর পরে যা কিছু লেখা আছে প্রসেসিংয়ের জন্য এসকিউএল সার্ভারে যাবে।

Select * from employees;
GO    -- GO 1

update employees set empID=21 where empCode=123;
GO    -- GO 2

উপরের উদাহরণে, জিও 1 এর পূর্বে বিবৃতিগুলি একটি ব্যাচে স্কিল সেভারে যাবে এবং তারপরে জিও 2 এর আগে অন্য কোনও বিবৃতি অন্য ব্যাচে স্ক্যালি সার্ভারে যাবে। সুতরাং আমরা দেখতে এটি পৃথক পৃথক ব্যাচ আছে।


5
Use herDatabase
GO ; 

কোডটি GOমার্কারের উপরের নির্দেশগুলি কার্যকর করতে বলে । আমার ডিফল্ট ডাটাবেসটি হ'ল মাইড্যাটাবেস, সুতরাং ব্যবহারের পরিবর্তে এবং হের্যাড ডাটাবেস ব্যবহার myDatabase GOকরতে বর্তমান ক্যোয়ারী তৈরি করে


-8

এখানে জিও এর যাদু আছে।

SELECT 'Go'
Go 10

সিনট্যাক্স: INT যান(BatchNumber)

ব্যাচনাম্বার: বার বার হয়নি

দেখতে খুব সহজ, আপনি যদি আরও গভীরতর কোড করেন তবে এটি আপনাকে স্প্যাগেটির দিকে নিয়ে যেতে পারে ।


এটি ব্যাচ স্ক্রিপ্টগুলির মতো প্রোগ্রামিংয়ে (আমার মনে হয়) ব্যবহৃত হিসাবে GOTO বিবৃতিটি ব্যাখ্যা করার চেষ্টা করছে .. এসকিউএল সার্ভারে জিও স্টেটমেন্টের সাথে কোনও সম্পর্ক নেই। GO সাধারণত কোনও INT এর সাথে ব্যবহৃত হয় না, যদিও আপনি যদি একটি ব্যাচের N পরিমাণে প্রসেস করতে চান তবে .. না, এটি জিওর "ম্যাজিক" নয়। অন্যান্য উত্তরে বর্ণিত হিসাবে এটি স্ক্রিপ্টকে গ্রুপবদ্ধ মৃত্যুদণ্ডের একটি সিরিজে আলাদা করতে ব্যবহৃত হয়।
Heriberto Lugo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.