দুটি সেশন কি একই নামে # টিম্প টেবিল তৈরি করতে পারে?


17

আমি একটি অস্থায়ী টেবিল তৈরি করছি ( #myTable) এবং একটি কার্সার ব্যবহার করছি। সমসাময়িক ব্যবহারকারীরা যখন আমার অ্যাপ্লিকেশনটির মাধ্যমে কার্সার অ্যাক্সেস করছে তখন এটি কি সমস্যা তৈরি করে? এটি কি আমাকে একই নামের সাথে পৃথক টেম্প টেবিল তৈরি করার অনুমতি দেয়?

নমুনা কোডটি নিম্নলিখিত:

Open cursor;
Fetch Next from cursor into @Variable_Temp_Table_Name;
Create table #myTable(pk int)
While @@Fetch_Status = 0
Begin    
Fetch Next from cursor into @Variable_Temp_Table_Name;
End 

উত্তর:


20

এসকিউএল সার্ভার সর্বদা কোনও টেম্প টেবিলের নাম (পর্দার আড়ালে) এর শেষে কিছু এলোমেলো সংখ্যায় সংযোজন করে, যখন সমকালীন ব্যবহারকারীরা তাদের নামগুলিতে একই নাম দিয়ে সারণীতে টেম্প টেবিল তৈরি করে, স্ক্যুএল সার্ভারটি টেম্পডবিটিতে একাধিক টেম্প টেবিল তৈরি করবে।

আমি #TempTableআমার এসএসএমএসে তিনটি পৃথক সেশনে ডাকা 3 টি টেম্প টেবিল তৈরি করেছি, এখন আমি যদি টেম্পডিবিতে যাই তবে সেখানে তৈরি প্রতিটি টেম্প টেবিলের নামের সাথে এলোমেলো (অনন্য) স্ট্রিং যুক্ত টেম্প টেবিলগুলি দেখতে পাব।

এখানে চিত্র বর্ণনা লিখুন


11

হ্যাঁ, একাধিক অ্যাপ্লিকেশনগুলি # টেম্প টেবিলের নিজস্ব অনুলিপিগুলি পাবেন। এটি # টেম্প টেবিলটি ব্যবহার করার বিষয়, কারণ প্রতিটি সমবর্তী সেশনের নিজস্ব, বিচ্ছিন্ন বস্তু থাকে। আপনি আপনার # টিটেম টেবিলের সাথে একত্রে কার্সার ব্যবহার করছেন কিনা এর সাথে এটির কোনও সম্পর্ক নেই (যদিও আমি সন্দেহ করি যে কার্সারটি যেভাবেই প্রয়োজন নেই - বিশেষভাবে মন্তব্য করার জন্য আপনার যথেষ্ট কোড অন্তর্ভুক্ত হয়নি)।

মন্তব্য অন্তর্ভুক্ত করতে সম্পাদনা করুন:

# টেম্প টেবিলগুলি ব্যবহার করার ক্ষেত্রে একটি অতিরিক্ত বিষয় হ'ল আপনার যদি তাদের প্রতিবন্ধকতা যুক্ত করার দরকার হয় তবে এসকিউএল সার্ভারটি নামটি তৈরি করতে দিন অন্যথায় সারণির সীমাবদ্ধতাটি অনন্য হবে এবং দ্বিতীয় বারটি তৈরির ক্ষেত্রে ত্রুটি ঘটবে টেবিল।


7
# টেম্প টেবিলগুলি ব্যবহার করার ক্ষেত্রে একটি অতিরিক্ত বিষয় হ'ল আপনার যদি তাদের প্রতিবন্ধকতা যুক্ত করার দরকার হয় তবে এসকিউএল সার্ভারটি নামটি তৈরি করতে দিন অন্যথায় সারণির সীমাবদ্ধতাটি অনন্য হবে এবং দ্বিতীয় বারটি তৈরির ক্ষেত্রে ত্রুটি ঘটবে টেবিল।
হারুন

1
@ অ্যারন - পরামর্শ দিন যে আপনি নামবিহীন প্রতিবন্ধকতা সম্পর্কে মন্তব্যটি উত্তরে সরিয়ে নিয়েছেন। প্রচুর লোকেরা এই বিশদটি নিয়ে গণ্ডগোল করে।
আরএলএফ

এছাড়াও মনে রাখবেন যদি কেউ করে একটি বিশ্বব্যাপী টেম্প টেবিল চাই, তারা তা ডিক্লেয়ার করতে পারেন ##likeThis
আন্ডারস্কোর_

@ আরএলএফ এবং অ্যারন: সর্বদা একজন NEWID () সহ একটি জিইউইডি তৈরি করতে পারে এবং ডায়নামিক এসকিউএল এর মাধ্যমে সীমাবদ্ধতা তৈরি করতে পারে। এটি ক্রিয়েট টেবিল বিবৃতিতে অন্তর্ভুক্ত হিসাবে পরিষ্কার হিসাবে না বলা, তবে এটি অন্তত একটি বিকল্প is এবং আমি এও বিশ্বাস করি যে টেম্প টেবিলগুলিতে এফকে বাধা নিষেধ করার অনুমতি নেই (যতক্ষণ না আমরা সাধারণভাবে সীমাবদ্ধতার কথা বলছি)।
সোলায়মান রুটজকি

@ শ্রুতজকি - সত্য, তবে নামযুক্ত বাধাগুলি সাধারণত নামকরণ করা হয় যাতে কোড থেকে তাদের রেফারেন্স করা সহজ হয়। একটি নিউআইডি () ব্যবহার করা সেই সরলকরণটি সরবরাহ করবে না, যদিও প্রয়োজনে আপনি NEWID সন্ধানের জন্য জিজ্ঞাসা করতে পারেন।
আরএলএফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.