আপনি যদি নিয়মিতভাবে এটি করার পরিকল্পনা করছেন (যেমন এটি অ্যাপ্লিকেশন যুক্তির অংশ এবং এটি এক-উপাত্ত ডেটা ট্রান্সফর্মেশন অনুশীলন নয়) তবে আপনি টেবিল 1 এবং টেবিল 2 INSTEAD OF INSERT
এ ডেটা বিভক্ত করার ব্যবস্থা করতে একটি ট্রিগার দিয়ে (এবং সাজানোর ব্যবস্থা ) ব্যবহার করতে পারেন কীগুলি / সম্পর্কগুলি) - তবে আপনি কেবল এইটি করবেন:
INSERT newView SELECT NEWID(), A, B, C, D, E, F FROM MyTable
এবং ট্রিগারটি এত সহজ হতে পারে:
CREATE trg_newview_insert TRIGGER newView INSTEAD OF UPDATE AS
INSERT table1 SELECT ID, A, B, C FROM inserted
INSERT table2 SELECT ID, D, E, F FROM inserted
GO
ধারণাটি ধারণাটি এমন কিছু:
CREATE VIEW newView AS
SELECT table1.ID, A, B, C, D, E, F
FROM table1
JOIN table2 ON table1.ID = table2.ID;
বা যদি অন্য টেবিলে সারি সারি নাও সারণী থাকতে পারে:
CREATE VIEW newView AS
SELECT ISNULL(table1.ID, table2.ID), A, B, C, D, E, F
FROM table1
FULL OUTER JOIN table2 ON table1.ID = table2.ID;
(অবশ্যই আপনি যখন SELECT
ভিউ থেকে কোন সারি আউটপুট দিচ্ছেন তা গুরুত্বহীন যদি আপনি এর থেকে উদ্দিষ্ট না হন SELECT
এবং এটি কেবল INSERT
তার যাদু করার জন্য কোনও টেম্পলেট সরবরাহ করতে পারে)
এটি ধরে নেওয়া হচ্ছে যে আপনি এই ক্ষেত্রে আপনার প্রাথমিক কীটির জন্য একটি ইউইউডি টাইপ ব্যবহার করার পরিকল্পনা করছেন - আপনি যদি টেবিল 1 এ একটি স্বয়ংক্রিয়ভাবে বর্ধক পূর্ণসংখ্যা কী ব্যবহার করছেন তবে আরও কিছু কাজ করার দরকার আছে। নিম্নলিখিতগুলির মতো কিছু কাজ করতে পারে:
CREATE trg_newview_insert TRIGGER newView INSTEAD OF UPDATE AS
INSERT table1 (A, B, C)
SELECT A, B, C
FROM inserted;
INSERT table2 (ID, D, E, F)
SELECT ID, D, E, F
FROM table1 AS t
JOIN inserted AS i ON t.A = i.A AND t.B = i.B AND t.C = i.C;
GO
এবং প্রকৃতপক্ষে যে INSERT
বিবৃতিগুলির জুড়ি সরাসরি এমন এক-অফ হিসাবে সরাসরি কাজ করতে পারে (আপনি কী ব্যবহার করছেন INT IDENTITY
বা UNIQUEIDENTIFIER DEFAULT NEWID()
কীটির জন্য টাইপ করছেন):
INSERT table1 (A, B, C)
SELECT A, B, C
FROM MyTable;
INSERT table2 (ID, D, E, F)
SELECT ID, D, E, F
FROM table1 AS t
JOIN MyTable AS i ON t.A = i.A AND t.B = i.B AND t.C = i.C;
দেখার প্রয়োজনকে অবহেলা করা এবং সম্পূর্ণ ট্রিগার করা, যদিও এটি যদি কোনও অপারেশন হয় তবে আপনি আপনার কোডটিতে প্রায়শই সম্পাদন করবেন ভিউ + ট্রিগারটি প্রতিবার একাধিক বিবৃতি প্রয়োজনের জন্য বিমূর্ত করার জন্য বিবেচ্য হবে।
কায়েট: উপরের সমস্ত এসকিউএল চিন্তা থেকে টাইপ করা হয়েছে এবং পরীক্ষা করা হয়নি, আপনার প্রয়োজন অনুযায়ী কাজ করবে এমন কোনও গ্যারান্টি না থাকার আগে এটির কাজ করা দরকার।