خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


نحوه افزودن چندین رکورد به صورت همزمان در یک جدول SQL Server

نحوه افزودن چندین رکورد به صورت همزمان در یک جدول SQL Server
در این پست خواهید دید که چگونه چند رکورد را با یک دستور Insert در یک جدول بصورت همزمان اضافه کنیم. برای افزودن همزمان چند رکورد به یک جدول ، از فرم زیر دستور INSERT استفاده می کنیم:

نرم افزار سامانه مودیان راهکار



INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
...
(value_list_n);

در syntax فوق به جای استفاده از یک لیست واحد از مقادیر ، از چندین لیست مقادیر جدا شده با کاما(comma-separated lists) برای افزوده شدن استفاده می کنیم. تعداد رکوردهایی که می توانید به صورت همزمان اضافه کنید 1000 رکورد با استفاده از این فرم دستور INSERT است. اگر نیاز به درج تعداد رکوردهای بیشتری به صورت همزمان هستید باید از فرم های دیگر Insert، مثلا Bulk Insert استفاده کنید. ضمنا فرم اضافه کردن چندین رکورد به صورت همزمان در SQL Server 2008 یا نسخه های بالاتر آن پشتیبانی می شود.
ابتدا یک جدول با نام sales.promotions ایجاد می کنیم:

CREATE TABLE sales.promotions (
promotion_id INT PRIMARY KEY IDENTITY (1, 1),
promotion_name VARCHAR (255) NOT NULL,
discount NUMERIC (3, 2) DEFAULT 0,
start_date DATE NOT NULL,
expired_date DATE NOT NULL
);

عبارت زیر چندین رکورد را در جدول sales.promotions اضافه می کند:

INSERT INTO sales.promotions (
promotion_name,
discount,
start_date,
expired_date
)
VALUES
(
'2019 Summer Promotion',
0.15,
'20190601',
'20190901'
),
(
'2019 Fall Promotion',
0.20,
'20191001',
'20191101'
),
(
'2019 Winter Promotion',
0.25,
'20191201',
'20200101'
);

با مشاهد پیغام زیر، SQL server نشان می دهد که سه ردیف رکورد با موفقیت در جدول مربوطه اضافه شده اند.

(3 rows affected)

با یک دستور Select ساده می توانید مقادیری که به جدول مربوطه اضافه کرده اید را مشاهده کنید:

SELECT
*
FROM
sales.promotions;



در اسکریپت زیر دوباره چندین رکورد به صورت همزمان به جدول مروبطه اضافه می شوند ولی مقادیر فیلد promotion_id این چند چند رکوردی که اکنون اضافه شده اند، در خروجی بر میگردد:

INSERT INTO
sales.promotions (
promotion_name, discount, start_date, expired_date
)
OUTPUT inserted.promotion_id
VALUES
('2020 Summer Promotion',0.25,'20200601','20200901'),
('2020 Fall Promotion',0.10,'20201001','20201101'),
('2020 Winter Promotion', 0.25,'20201201','20210101');



در این مثال، از OUTPUT برای ستونی که می خواهیم مقدار آن در خروجی نمایش داده شود، استفاده شد. اگر می خواهید مقادیر را از چندین ستون برگردانید، باید ستون ها را به ترتیب در مقابل دستور OUTPUT درج کنید.

OUTPUT inserted.column1, inserted.column2...


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز