خانه SQL Server درج چند رکورد در یک جدول SQL Server دستورات SQL نوشته شده توسط: مسعود طاهری تاریخ انتشار: ۱۷ فروردین ۱۳۹۴ آخرین بروزرسانی: ۲۳ آبان ۱۴۰۲ زمان مطالعه: 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 کارایی این روش نسبت به روشهای دیگر بالاتر میباشد. چنانچه یکی از رکوردهای موجود در مجموعه دارای خطا باشد. با استفاده از این دستور چیزی در جدول درج نخواهد شد. چه رتبه ای میدهید؟ میانگین ۵ / ۵. از مجموع ۲ اولین نفر باش دانلود مقاله درج چند رکورد در یک جدول فرمت PDF 2 صفحه حجم 1 مگابایت دانلود مقاله معرفی نویسنده مقالات 24 مقاله توسط این نویسنده محصولات 65 دوره توسط این نویسنده مسعود طاهری مسعود طاهری مدرس و مشاور ارشد SQL Server & BI ، مدیر فنی پروژههای هوش تجاری (بیمه سامان، اوقاف، جین وست، هلدینگ ماهان و...) ، مدرس دورههــای SQL Server و هوشتجاری در شرکت نیکآموز و نویسنده کتاب PolyBase در SQL Server معرفی محصول ایمان باقری دوره آموزشی کوئری نویسی در SQL Server 2.190.000 تومان مقالات مرتبط ۰۸ شهریور SQL Server اهمیت مانیتورینگ در SQL Server چیست؟ | تمام آنچه که باید از مانیتورینگ بدانید تیم فنی نیک آموز ۰۳ شهریور SQL Server اعمال گواهینامه SSL روی SQL Server تیم فنی نیک آموز ۳۱ مرداد SQL Server دستور Rank در SQL Server ؛ کلید حل معمای رتبه بندی تیم فنی نیک آموز ۲۵ مرداد SQL Server نرم افزار (Microsoft SQL Server Management Studio (SSMS چیست؟ تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ مصطفی عینی ۰۲ / ۰۹ / ۹۴ - ۰۳:۵۲ ممنون بدرد بخور بود. پاسخ به دیدگاه مسعود طاهری ۱۱ / ۰۷ / ۹۴ - ۰۵:۱۵ جناب کبیری ظاهرا دستور از لحاظ Syntax اوکی است خطای شما چیه می توانید متن خطا را درج کنید پاسخ به دیدگاه کبیری ۰۷ / ۰۷ / ۹۴ - ۱۰:۲۴ سلام.من چندین رکورد دارم که میخوام با استفاده از روش ۱ در دیتابیس درج کنم.داخل چند تا از فیلد ها اطلاعات فارسی قرار داره.وقتی دونه دونه داخل query اجرا میکنم انجام میشه ولی وقتی از یک insert بیشتر میشه خطا میده و انجام نمیشه.میخواستم بپرسم علتش چیه؟به خاطره راستچین چپ چین حروف فارسی انگلیسیه؟؟؟.ممنون پاسخ به دیدگاه مسعود طاهری ۰۷ / ۰۷ / ۹۴ - ۱۱:۳۹ سلام در نحوه نوشتن دستورات دقت کنید نباید مشکلی در این مورد داشته باشید پاسخ به دیدگاه کبیری ۱۱ / ۰۷ / ۹۴ - ۰۲:۳۰ این یک نمونه از چند دستور insert هستش که نمیشه همه رو با هم وارد کردINSERT INTO DD (RECORD, OrgCode, BCODE, PNAME, PNO, KCODE, KCODE9, AMVAL, KNAME, NJA, SH_BARG, B_DATE, TEDAD, VAZ, PAGE, ROW, VAHED, SNO, M_HAZINE)VALUES (NULL,NULL,’35265′,’نفر’,NULL,NULL,’35-001-0147′,NULL,’میکرومترسه فک داخل سنج۱۷۵-۱۵۰دقت ۰.۰۰۵′,۱,NULL,’91/01/04′,1,NULL,NULL,NULL,’عدد’,NULL,NULL);INSERT INTO DD (RECORD, OrgCode, BCODE, PNAME, PNO, KCODE, KCODE9, AMVAL, KNAME, NJA, SH_BARG, B_DATE, TEDAD, VAZ, PAGE, ROW, VAHED, SNO, M_HAZINE)VALUES (NULL,NULL,’35265′,’نفر’,NULL,NULL,’35-001-0148′,NULL,’میکرومترکمانی دیجتال۲۵-۰ دقت ۰.۰۰۱′,۱,NULL,’91/01/04′,2,NULL,NULL,NULL,’عدد’,NULL,NULL);INSERT INTO DD (RECORD, OrgCode, BCODE, PNAME, PNO, KCODE, KCODE9, AMVAL, KNAME, NJA, SH_BARG, B_DATE, TEDAD, VAZ, PAGE, ROW, VAHED, SNO, M_HAZINE)VALUES (NULL,NULL,’35265′,’نفر’,NULL,NULL,’35-001-0154′,NULL,’میکرومترسه فک داخل سنج۱۰۰-۷۵ دقت ۰.۰۰۵′,۱,NULL,’91/01/04′,1,NULL,NULL,NULL,’عدد’,NULL,NULL);INSERT INTO DD (RECORD, OrgCode, BCODE, PNAME, PNO, KCODE, KCODE9, AMVAL, KNAME, NJA, SH_BARG, B_DATE, TEDAD, VAZ, PAGE, ROW, VAHED, SNO, M_HAZINE)VALUES (NULL,NULL,’35265′,’نفر’,NULL,NULL,’35-001-0155′,NULL,’میکرومترسه فک داخل سنج کف ت۱۲۵-۱۰۰دقت ۰.۰۰۵′,۱,NULL,’91/01/04′,1,NULL,NULL,NULL,’عدد’,NULL,NULL);INSERT INTO DD (RECORD, OrgCode, BCODE, PNAME, PNO, KCODE, KCODE9, AMVAL, KNAME, NJA, SH_BARG, B_DATE, TEDAD, VAZ, PAGE, ROW, VAHED, SNO, M_HAZINE)VALUES (NULL,NULL,’35265′,’نفر’,NULL,NULL,’35-001-0157′,NULL,’میکرومترسه فک داخل سنج۴-۳.۵ دقت ۰.۰۰۱′,۱,NULL,’91/01/04′,1,NULL,NULL,NULL,’عدد’,NULL,NULL);INSERT INTO DD (RECORD, OrgCode, BCODE, PNAME, PNO, KCODE, KCODE9, AMVAL, KNAME, NJA, SH_BARG, B_DATE, TEDAD, VAZ, PAGE, ROW, VAHED, SNO, M_HAZINE)VALUES (NULL,NULL,’35265′,’نفر’,NULL,NULL,’35-001-0169′,NULL,’میکرومترسه فک داخل سنج۴.۵-۴ دقت ۰.۰۰۱′,۱,NULL,’91/01/04′,1,NULL,NULL,NULL,’عدد’,NULL,NULL); پاسخ به دیدگاه کبیری ۰۷ / ۰۷ / ۹۴ - ۰۱:۲۳ راستش دستورات insert همگی به صورت سیستمی ایجاد شده و همونطور که گفتم هرکدوم به تنهایی اجرا میشن و رکورد جدید رو درج می کنن ولی وقتی چندتا رو با هم داخل query مینویسم اجرا نمیشن پاسخ به دیدگاه مجتبی ۰۹ / ۰۶ / ۹۴ - ۱۰:۰۷ سلاماگر امکانی قرار بدهید که هر کاربر بتوانند مقالات مورد علاقه خودش را در پنل کاربری خوش ذخیره بکند تا برای مراجعه بعدی به لیست مقالات مراجعه نکند بلکه به لیست مقالات مورد علاقه در پنل کاربری خودش مراجعه کند در ضمن بتواند مقالات مورد علاقه خوش را دسته بندی کند با تشکر پاسخ به دیدگاه حمیدقلیپور ۱۲ / ۰۵ / ۹۴ - ۰۸:۰۲ با سلام و احترام جناب مهندس طاهری اگه امکانی در سایت قرار بدهید که مقالات رو بتوان به صورت PDF دانلود کرد بسیار عالی میشه، این یه پیشنهاده امیدوارم مورد استقبال قرار بگیره. با تشکر پاسخ به دیدگاه مهدی شبانی ۲۴ / ۰۴ / ۹۴ - ۰۸:۱۷ مفید بود پاسخ به دیدگاه محمدرضا خاکپور ۰۹ / ۰۲ / ۹۴ - ۱۱:۴۸ تا جایی که میدونم sqllite این اجازه رو نمیدهواسه اون یه ترفندی یا… هست؟ پاسخ به دیدگاه parmidasoft@yahoo.com ۲۶ / ۰۱ / ۹۴ - ۰۹:۲۳ سلام لطفاً در این سایت جدید امکان دریافت مقالات بصورت PDF رو هم لحاظ کنید. با تشکر. پاسخ به دیدگاه محمدحسین ۲۶ / ۰۱ / ۹۴ - ۰۸:۵۹ سلاماین دستور برای ثبت زیر اقلام یک فاکتور مناسب هست؟اگر در این دستور خطایی رخ بدهد امکان اینکه از کدام یک از دستورات insert بوده وجود دارد؟تشکر پاسخ به دیدگاه مهدی ۲۴ / ۰۱ / ۹۴ - ۰۳:۵۷ عالی پاسخ به دیدگاه 1 2