درج چند رکورد در یک جدول

درج چند رکورد در یک جدول

نوشته شده توسط: مسعود طاهری
تاریخ انتشار: ۱۷ فروردین ۱۳۹۴
آخرین بروزرسانی: ۲۳ آبان ۱۴۰۲
زمان مطالعه: 8 دقیقه
۵
(۲)

مقدمه

یکی از قابلیت‌هایی که در SQL Server وجود دارد درج همزمان چند رکورد در بانک اطلاعاتی می‌باشد. برای اینکه این کار را بتوانیم در SQL Server انجام دهیم یک بانک اطلاعاتی و جدول تستی با استفاده از Scriptهای زیر ایجاد نمایید.
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 بوده و رکوردها به یک‌بار در جدول درج می‌شوند.

چند نکته درباره استفاده از Row Constructor

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

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

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

اولین نفر باش

title sign
دانلود مقاله
درج چند رکورد در یک جدول
فرمت PDF
2 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
مسعود طاهری
مقالات
20 مقاله توسط این نویسنده
محصولات
65 دوره توسط این نویسنده
مسعود طاهری

مسعود طاهری مدرس و مشاور ارشد SQL Server & BI ،  مدیر فنی پروژه‌های هوش تجاری (بیمه سامان، اوقاف، جین وست، هلدینگ ماهان و...) ، مدرس دوره‌هــای SQL Server و هوش‌تجاری در شرکت نیک‌آموز و نویسنده کتاب PolyBase در SQL Server

title sign
دیدگاه کاربران

    •  با تشکر
      من هم با نظر دوست عزیز مهدی ربانی ذبیحی موافق هستم یه فایل PDF برای دانلود بزارین ممنون میشم
      چند خط کد هم بزارم برای استفاده دوستان
      begin tran t_Name
      دستورات insert / delete/….
      if @@Error = 0
      begin
      commit tran t_Name
      end
      else
      begin
      rollback tran t_Name
      end
      البته استاد شرمنده ها دیدم در مورد خطا بحث نکردین گفتم کد بالا بزارم تا از انجام کار SQL اطمینان حاصل کنیم
      یا علی

    •  با تشکر
      من هم با نظر دوست عزیز مهدی ربانی ذبیحی موافق هستم یه فایل PDF برای دانلود بزارین ممنون میشم
      چند خط کد هم بزارم برای استفاده دوستان
      begin tran t_Name
      دستورات insert / delete/….
      if @@Error = 0
      begin
      commit tran t_Name
      end
      else
      begin
      rollback tran t_Name
      end
      البته استاد شرمنده ها دیدم در مورد خطا بحث نکردین گفتم کد بالا بزارم تا از انجام کار SQL اطمینان حاصل کنیم
      یا علی

    •  با سلام و خسته نباشید.بسیار مطلب عالی عنوان شده.اما پیشنهادی داشتم چرا متن مقاله هایی که به این صورت قرار میدین که شامل ویدیو و فایل دیگری نیست در پایان پست به صورت فایل پی دی اف برای دانلود قرار نمیدین تا بشه دانلود کرد وبرای استفاده های مکرر نیاز به مراجعه سایت نباشه همچنین راحتی کاربران تون رو هم رقم بزنید و در ضمن نشر مطالب سایت تون هم اسان تر وفراگیر تر میشه وتبلیغاترنیز هست باتشکر

  • 1
  • 2