এর সংক্ষিপ্ত উত্তরটি হ'ল না। আপনি যখন from
আপডেট স্টেটমেন্টের ধারাটিতে একাধিক টেবিল প্রবেশ করতে পারেন , আপনি কেবল update
কীওয়ার্ডের পরে একটি একক টেবিল নির্দিষ্ট করতে পারবেন । এমনকি যদি আপনি একটি "আপডেটযোগ্য" ভিউ লিখেন (যা কেবলমাত্র এমন কিছু মতামত যা কিছু নির্দিষ্ট বিধিনিষেধ অনুসরণ করে) তবে এর মতো আপডেটগুলি ব্যর্থ হবে। এখানে এমএসডিএন ডকুমেন্টেশন থেকে প্রাসঙ্গিক ক্লিপগুলি দেওয়া হয়েছে (জোর আমার)।
আপডেট (লেনদেন-এসকিউএল)
টেবিল_অর_ভিউ_নাম দ্বারা রেফারেন্স করা ভিউটি অবশ্যই আপডেটেড হতে হবে এবং ভিউয়ের এফআরওএম ক্লোজে ঠিক একটি বেস টেবিলটি উল্লেখ করতে হবে । হালনাগাদযোগ্য দর্শন সম্পর্কে আরও তথ্যের জন্য, দেখুন দেখুন তৈরি করুন (লেনদেন-এসকিউএল)।
ভিউ তৈরি করুন (লেনদেন-এসকিউএল)
নীচের শর্তগুলি যতক্ষণ সত্য হয় ততক্ষণ আপনি একটি ভিউয়ের মাধ্যমে অন্তর্নিহিত বেস টেবিলের ডেটা পরিবর্তন করতে পারেন:
- আপডেট, INSERT, এবং মুছে ফেলা বিবৃতি সহ যে কোনও পরিবর্তনগুলির জন্য কেবল একটি বেস টেবিলের কলামগুলি উল্লেখ করতে হবে ।
- ভিউতে সংশোধিত হওয়া কলামগুলি অবশ্যই টেবিল কলামগুলিতে অন্তর্নিহিত ডেটা সরাসরি উল্লেখ করতে হবে। কলামগুলি অন্য কোনও উপায়ে উত্পন্ন করা যায় না, যেমন নীচের মাধ্যমে:
- একটি সামগ্রিক ফাংশন: AVG, COUNT, SUM, MIN, MAX, GROUPING, STDEV, STDEVP, VAR, এবং VARP।
- একটি গণনা। অন্যান্য কলাম ব্যবহার করে এমন একটি এক্সপ্রেশন থেকে কলামটি গণনা করা যায় না। সেট অপারেটর ইউনিয়ন, ইউনিয়ন অল, ক্রসজয়াইন, এক্সসিএপিটি এবং ইন্টারস্যাক্টের পরিমাণ নির্ধারণের মাধ্যমে কলামগুলি গঠিত হয় এবং এটিও আপডেটযোগ্য নয়।
- সংশোধিত কলামগুলি GROUP BY, HAVING, বা DISTINCT ধারা দ্বারা প্রভাবিত হবে না।
- শীর্ষস্থানীয় স্থানটি কোথাও ব্যবহারের ক্ষেত্রে নির্বাচিত বিকল্পের সাথে চেক বিকল্প বিকল্পের সাথে ব্যবহার করা হবে না।
সমস্ত সততার সাথে, যদিও, আপনাকে এলবুশকিনের উদাহরণ অনুসারে লেনদেনের মধ্যে দুটি পৃথক এসকিউএল স্টেটমেন্ট ব্যবহার করা উচিত।
আপডেট: আপনি আপডেটযোগ্য ভিউতে একাধিক টেবিল আপডেট করতে পারবেন এমন আমার আসল দাবীটি ভুল ছিল। এসকিউএল সার্ভার 2005 এবং 2012 এ এটি নিম্নলিখিত ত্রুটিটি উত্পন্ন করবে। আমি এর উত্তর প্রতিফলিত করতে আমার উত্তর সংশোধন করেছি।
Msg 4405, Level 16, State 1, Line 1
View or function 'updatable_view' is not updatable because the modification affects multiple base tables.