گپی کردن یک جدول به داخل جدول دیگر در پایگاه داده
سلام ، اگه بخوام یک سری از فیلدهای یک جدول در یک پایگاه داده رو در جدول دیگری از یک پایگاه داده در همان سرور کپی کنم باید از چه دستوری استفاده کنم؟
3 پاسخ
از export و import استفاده کنین
سلام ببینید دو حالت وجود داره
حالت اول: شما در هر دو پایگاه داده ساختار جدول رو دارین و فقط میخواین داده های جدول از یگ پایگاه داده به جدول مشابه در پایگاه داده دیگه درج بشه
حالت دوم: شما جدول رو فقط در یک پایگاه داده دارین و میخواین همون جدول رو در پایگاه داده دیگه هم داشته باشین
راه حل حالت اول:
DB1 و DB2 اسم پایگاه داده ها هستند
INSERT INTO DB2.dbo.Table_1 (id,name) SELECT id,name FROM DB1.dbo.Table_1
حتما دقت کنید که اسم پایگاه داده ها رو در کوئری بیارین و همچنین کلمه dbo رو بعد از اسم پایگاه داده ها بیارین مثل کد بالا
حالت دوم:
حالتی که میخواین یک جدول رو از یک پایگاه داده به پایگاه داده دوم کپی کنین بدون اینکه لازم باشه قبلش جدولی با همون ساختار در پایگاه داده دوم ایجاد کرده باشین
select id,name into DB2.dbo.newtable from DB1.dbo.Table_2
در اینجا هم دقت کنین اسم جدولی که بعد از عبارت into میاد باید یک اسم جدید باشه و جدولی با همین نام در پایگاه داده دوم شما نباشه
سلام خدمت شما
در جهت تکمیل صحبت های دوستان...
اگر تعداد جداول شما زیاد است می توانید از این 2 روش استفاده کنید Import & Exprot و Generate Scriptاستفاده کنید.
اگر جداول شما کم است،یعنی 1 یا دو تا جداول از روش خانم Salime استفاده کنید.
2 نکته:
1-در زمان اجرا دستور Select Into کلید و همینطور ایندکس های جداولتون به پایگاه داده مقصد انتقال داده نمی شود و برای رفع این مشکل می باست یا خودتان بصورت دستی در دیتابیس مقصد این کار رو انجام دهید یا اینکه از روش Generate Script استفاده کنید که بتونید کلیه قیدها ، تریگرها، ایندکس ها، فشرده سازی در سطح جداول و... را براحتی اتنقال بدید.
2- اگر خواستید فقط ساختار جداول رو بدون داده های موجود در پایگاه داده مقصد ایجاد کنید می بایست به این شکل عمل کنید:
روش اول:
SELECT * INTO destination_DBName.Schema_Name.destination table> FROM Source_DB.Schema_Name.Source_table where 1 = 2
روش دوم :
SELECT Top(0) * INTO DBName.Schema_Name.Table_Name FROM DBName.Schema_Name.Tbl_Name
موفق باشید