۵
(۲)
درج رکورد در SQL، یکی از قابلیت‌هایی که در SQL Server وجود دارد درج همزمان چند رکورد در بانک اطلاعاتی می‌باشد. برای اینکه این کار را بتوانیم در SQL Server انجام دهیم یک بانک اطلاعاتی و جدول تستی با استفاده از Scriptهای زیر ایجاد نمایید. شما می‌توانید علاوه‌ بر مطالعه این مطلب، با رجوع به آموزش SQL Server ، سایر مباحث مهم مربوطه را به زبان ساده و با جزئیات بیاموزید.
USE master
GO
IF DB_ID('TestDB')>0
BEGIN
ALTER DATABASE TestDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DROP DATABASE TestDB
END
GO
CREATE DATABASE TestDB
GO
USE TestDB
GO
CREATE TABLE MyTable
(
,Col1 INT PRIMARY KEY
Col2 NVARCHAR(20)
)
در ادامه اسکریپت‌های زیر نحوه درج چندین رکورد در یک جدول را به طور همزمان نشان می‌دهد.
دوره کوئری نویسی نیک آموز

استفاده از چندین دستور Insert

در این روش به ازای درج هر رکورد در جدول یک دستور Insert نوشته می‌شود. این روش یکی از ساده‌ترین روش‌ها جهت درج چندین رکورد در بانک اطلاعاتی می‌باشد.
INSERT INTO MyTable (Col1,Col2)
VALUES (1,'S1-1')
INSERT INTO MyTable (Col1,Col2)
VALUES (2,'S1-2')
INSERT INTO MyTable (Col1,Col2)
VALUES (3,'S1-3')
INSERT INTO MyTable (Col1,Col2)
VALUES (4,'S1-4')
GO

استفاده از Union

در این روش رکوردهایی که قرار است در جدول درج شوند با استفاده از چندین Union به همدیگر پیوند داده می‌شوند.
INSERT INTO MyTable
SELECT 5,'S2-1'
UNION
SELECT 6,'S2-2'
UNION
SELECT 7,'S2-3'
UNION
SELECT 8,'S2-4'
GO

اما اگر دقت کنید توسط دستور بالا هر ۴ رکورد به یکباره در جدول درج شده است.

استفاده از Row Constructor 

 

این روش از SQL Server 2008 به بعد در سیستم قابل اجرا می‌باشد. در این حالت با استفاده از یک دستور Insert امکان درج همزمان چندین رکورد وجود خواهد داشت.
INSERT INTO MyTable VALUES
(۹, 'S3-1'),
(۱۰,'S3-2'),
(۱۱,'S3-3'),
(۱۲,'S3-4'),
GO
نحوه درج اطلاعات توسط این روش همانند روش Union بوده و رکوردها به یک‌بار در جدول درج می‌شوند.

سخن پایانی

درج رکورد در SQL، کارایی این روش نسبت به روش‌های دیگر بالاتر می‌باشد.  چنانچه یکی از رکوردهای موجود در مجموعه دارای خطا باشد. با استفاده از این دستور چیزی در جدول درج نخواهد شد. ما در نیک آموز منتظر نظرات ارزشمند شما درباره این مقاله هستیم.

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۲

اولین نفر باش