আমি একটি টেবিল থেকে অন্য টেবিলের মধ্যে অন্য টেবিলে রেকর্ড সন্নিবেশ করতে চাইছি যদি গন্তব্য সারণীটি ইতিমধ্যে বিদ্যমান থাকে তবে এটি টেবিলের শেষে রেকর্ডগুলি সংযোজন করা উচিত।
উত্তর:
এটি সম্পর্কে:
USE TargetDatabase
GO
INSERT INTO dbo.TargetTable(field1, field2, field3)
SELECT field1, field2, field3
FROM SourceDatabase.dbo.SourceTable
WHERE (some condition)
কীভাবে একটি সার্ভার / ডাটাবেস থেকে অন্য ডাটাবেসে টেবিলের মান সন্নিবেশ করা যায়?
1 তৈরি করা হচ্ছে লিঙ্কড সার্ভার {যদি চাহিদা} (এসকিউএল সার্ভার 2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure
2 শংসাপত্রগুলি ব্যবহারের জন্য লিঙ্কযুক্ত সার্ভারটি কনফিগার করুন ক) http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx
EXEC sp_addlinkedsrvlogin 'NAMEOFLINKEDSERVER', 'false', null, 'REMOTEUSERNAME', 'REMOTEUSERPASSWORD'
- সার্ভার পরীক্ষা করুন
SELECT * FROM sys.servers
- পরীক্ষিত লিঙ্কযুক্ত সার্ভারগুলি
EXEC sp_testlinkedserver N'NAMEOFLINKEDSERVER'
নতুন স্থানীয় টেবিলে অন্তর্ভুক্ত করুন
SELECT * INTO NEWTABLE
FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
বা
রিমোট টেবিলে নতুন মূল্য হিসাবে অন্তর্ভুক্ত করুন
INSERT
INTO [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
SELECT *
FROM localTABLE
নতুন স্থানীয় টেবিলের মূল্য হিসাবে অন্তর্ভুক্ত করুন
INSERT
INTO localTABLE
SELECT *
FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
--Code for same server
USE [mydb1]
GO
INSERT INTO dbo.mytable1 (
column1
,column2
,column3
,column4
)
SELECT column1
,column2
,column3
,column4
FROM [mydb2].dbo.mytable2 --WHERE any condition
/*
steps-
1- [mydb1] means our opend connection database
2- mytable1 the table in mydb1 database where we want insert record
3- mydb2 another database.
4- mytable2 is database table where u fetch record from it.
*/
--Code for different server
USE [mydb1]
SELECT *
INTO mytable1
FROM OPENDATASOURCE (
'SQLNCLI'
,'Data Source=XXX.XX.XX.XXX;Initial Catalog=mydb2;User ID=XXX;Password=XXXX'
).[mydb2].dbo.mytable2
/* steps -
1- [mydb1] means our opend connection database
2- mytable1 means create copy table in mydb1 database where we want
insert record
3- XXX.XX.XX.XXX - another server name.
4- mydb2 another server database.
5- write User id and Password of another server credential
6- mytable2 is another server table where u fetch record from it. */
উভয় টেবিলের যদি একই স্কিমা থাকে তবে এই ক্যোয়ারীটি ব্যবহার করুন: ডাটাবেস_নামে সন্নিবেশ করান t
আপনার 1 ম ডাটাবেসের নামের সাথে ডাটাবেস_নাম এবং টেবিলের নামের সাথে টেবিলের নামটি প্রতিস্থাপন করুন আপনি যে টেবিলের সাথে অনুলিপি করতে চান সেখানে আপনার অন্য ডাটাবেসের নামের সাথে নতুন_ডেটেজ_নামটি প্রতিস্থাপন করুন যেখানে আপনি অনুলিপি করতে চান এবং নতুন_ট্যাবল_নামটি সারণির নাম।
এটা করতে.....
(এটি একই টেবিলের মতো একই ডাটাবেসের সাথে টেবিলের মতো টেবিল কাঠামো তৈরি করবে)
create table toDatabaseName.toTableName as select * from fromDatabaseName.fromTableName;
এসকিউএল সার্ভারের জন্য, আপনি অন্য ডেটাবেস থেকে সরঞ্জাম আমদানি ডেটা ব্যবহার করতে পারেন, ম্যাপিং কলামগুলির ম্যাপিং কনফিগারেশন করা সহজ।
মাইগ্রেশন স্ক্রিপ্টে বেশিরভাগ ক্ষেত্রে আমাদের এই ধরণের প্রশ্নের প্রয়োজন
INSERT INTO db1.table1(col1,col2,col3,col4)
SELECT col5,col6,col7,col8
FROM db1.table2
এই কোয়েরিতে কলামের গণনা অবশ্যই উভয় সারণীতে সমান হতে হবে