در این مقاله از سری مقاله های آموزش SQL Server به آموزش کپی کردن اطلاعات از یک جدول به جدول دیگر می پردازیم، برای این کار می توانید از دو دستور Select Into و Insert Into Select استفاده کنید. در ادامه به شرح هر یک از این دستورات و تفاوت آنها با یکدیگر می پردازیم :
در SQL می توانید اطلاعات را از یک جدول به داخل جدول دیگری کپی نمایید. دستور SELECT INTO داده ها را از یک جدول بر می دارد و در جدولی دیگر وارد می کند.
می توانیم تمام ستون ها را به یک جدول جدید وارد کنیم :
SELECT *
INTO newtable [IN extealdb]
FROM table1;
یا می توانیم تنها ستون مورد نظر خود را به جدول جدیدی وارد کنیم :
SELECT column_name(s)
INTO newtable [IN extealdb]
FROM table1;
جدول جدید با نام ستون ها و تنظیماتی که در عبارت SELECT برای آن تعریف شده است ایجاد می گردد. برای اضافه کردن نام های جدید می توانید از عبارت AS استفاده نمایید.
دستور زیر از جدول Customers یک بکاپ تهیه می کند :
SELECT *
INTO CustomersBackup2013
FROM Customers;
همچنین می توانیم از عبارت IN برای کپی کردن جدول به پایگاه داده دیگر استفاده کنیم :
SELECT *
INTO CustomersBackup2013 IN 'Backup.mdb'
FROM Customers;
دستور زیر تنها مشتریانی که نام کشورشان آلمان است را در جدول جدید کپی می کند :
SELECT *
INTO CustomersBackup2013
FROM Customers
WHERE Country='Germany';
SELECT *
INTO CustomersBackup2013
FROM Customers
WHERE Country='Germany';
دستور زیر داده را از بیشتر از یک جدول به جدول جدید وارد می کند :
SELECT Customers.CustomerName, Orders.OrderID
INTO CustomersOrderBackup2013
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID;
نکته :
از عبارت SELECT INTO میتوان برای ایجاد یک جدول خالی جدید با بهره گیری از طرح های ظاهری جدول های دیگر استفاده کرد. برای اینکار تنها کافی است تا دستور WHERE را به عبارت خود اضافه کنیم، این کار سبب می شود تا query ارسال شده بدون پاسخ بازگردد :
SELECT *
INTO newtable
FROM table1
WHERE 1=0;
در SQL می توان اطلاعات را از یک جدول به جدول دیگر کپی کرد. عبارت INSERT INTO SELECT داده ها را از یک جدول کپی کرده و در جدول دیگری وارد می نماید. سطر های جدول مقصد در این پروسه بدون هیچگونه تغییر باقی می ماند.
با استفاده ازعبارت زیر می توانیم تمام ستون ها را از یک جدول به جدول دیگری کپی کنیم :
INSERT INTO table2
SELECT * FROM table1;
یا می توانیم با استفاده از عبارت زیر تنها ستون های مورد نظر خود را در جدول دیگری کپی کنیم :
INSERT INTO table2
(column_name(s))
SELECT column_name(s)
FROM table1;
در این آموزش از نمونه پایگاه داده مشهور Northwind استفاده خواهیم کرد. جدول زیر از میان جدول "Customers" انتخاب شده است:
آنچه در زیر می بینید گزیده ای است از جدول "Suppliers" :
عبارت زیر تنها تعدادی کمی از ستون ها را از جدول Suppliers به جدول Customers کپی می کند:
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;
عبارت زیر تنها عرضه کنندگان آلمانی را از جدول Suppliers به جدول Customers کپی می کند :
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers
WHERE Country='Germany';
با دیگر مقالات ما در زمینه آموزش SQL Server همراه باشید..
آموزش برنامه نویسیآموزش sql server,آموزش دستورات sql server,دوره آموزش sql server,آموزش کپی کردن اطلاعات در sql server,آموزش select into در sql server,...نویسنده : پیمان کلانتری بازدید : 244