গণনা কলামে স্কেলার ফাংশন ব্যবহৃত হয়, ফাংশনটি আপডেট করার সবচেয়ে পরিষ্কার উপায় কী?


10

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


4
আমি এটিকে কেবল আসল কল করে ডামি ফাংশন তৈরি করে আংশিক সমাধান করেছি। অবশ্যই, যদি স্বাক্ষর পরিবর্তন হয়, তবে এটি আবার শেষ over

3
দুর্ভাগ্যক্রমে, আমি মনে করি না যে এটি করার কোনও "যাদু" বা "ক্লিনার" আছে। আপনার যদি ফাংশনটি সংশোধন করতে হয় - আপনাকে কলামগুলি ফেলে দিতে হবে, ফাংশনটি সংশোধন করতে হবে এবং সমস্ত কলামগুলি পুনরায় যুক্ত করতে হবে। এই কাছাকাছি কোন উপায়।
marc_s

@marc_s এটা ভাল একটি শট, এখানে প্রায় :) স্মার্ট অনেকজন লোক মূল্য
robertc

উপরোক্ত মন্তব্যে একমত ভেবেছিলেন এখানে সায়নিওয়াইমদের জন্য এখানে কিছু সহায়তা দেওয়ার সুযোগ থাকবে (গণিত কলামে একটি সাইনোনিম রেফারেন্স করুন) - তবে আপনি এটি অন্য কোনও অবজেক্টে "পুনর্নির্দেশ" করার জন্য একবার প্রতিশব্দ তৈরি করতে পারবেন না।
অ্যাডাএদেভ

1
এখনও সিএলআর ইউডিটির সংজ্ঞা আপডেট করার মতো বেদনাদায়ক কাছাকাছি কোথাও নেই (এমনকি যখন পরিবর্তনটি কোনও পদ্ধতির কাছে কেবল একটি ঝাঁকনি এবং স্টোরেজ উপস্থাপনাকে প্রভাবিত করে না তখনও)
মার্টিন স্মিথ

উত্তর:


2

এটি আরও বেশি কাজ হতে পারে তবে এটির পরে (প্রায়) যা পাওয়া উচিত তা পাওয়া উচিত:

1 - একটি নতুন টেবিল তৈরি করুন যা মূল টেবিল এবং আপডেট ফাংশন থেকে আপনার পিকে রয়েছে।

2 - আপনার পুরানো কলামটি ফেলে দিন

3 - আপনার পুরানো টেবিলটির মতো নতুন নামকরণ করুন TableName_Base

4 - VIEWএমন একটি তৈরি করুন যা আপনার প্রধান টেবিলের সাথে আপনার অনুসন্ধানের টেবিলের সাথে যোগ হয়, ক্ষেত্রগুলি যাতে আপনি দেখতে চান সেটির সাথে। আপনার আসল সারণীর নাম যা ছিল তা দর্শনের নাম দিন।

এটি সম্ভাব্যভাবে কিছু সমস্যা তৈরি করবে INSERTSএবং UPDATESযদিও আপনি একটি দর্শন দিয়ে অ্যাক্সেস করবেন। এটি মোকাবেলার জন্য আপনি ভিউ বাইপাস করে সরাসরি টেবিলের মধ্যে sertোকাতে পারেন।


এটি আরও কাজ এবং কলামগুলি সরানো এবং পুনরায় যুক্ত করার মতো একই স্তরের ঝুঁকির মতো শোনাচ্ছে।
রবার্টক

1
@ আরবার্টক এটি যদি উচ্চ লেনদেনের পরিবেশ হয় তবে এটি কম বিঘ্নিত হবে, তবে হ্যাঁ এটি এখনও বেশ অগোছালো।
জেএনকে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.