لدي مجموعة متعددة من البيانات لإدراجها مرة واحدة ، قل 4 صفوف.
يحتوي الجدول الخاص بي على ثلاثة أعمدة: Person
و Id
و Office
.
INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");
هل يمكنني insert
الصفوف الأربعة في SQL statement
واحد؟
في SQL Server 2008 ، يمكنك إدراج صفوف متعددة باستخدام عبارة SQL INSERT واحدة.
INSERT INTO MyTable ( Column1, Column2 ) VALUES
( Value1, Value2 ), ( Value1, Value2 )
للإشارة إلى ذلك ، ألق نظرة على MOC Course 2778A - كتابة استعلامات SQL في SQL Server 2008.
فمثلا:
INSERT INTO MyTable
( Column1, Column2, Column3 )
VALUES
('John', 123, 'Lloyds Office'),
('Jane', 124, 'Lloyds Office'),
('Billy', 125, 'London Office'),
('Miranda', 126, 'Bristol Office');
إذا كنت تقوم بالإدخال في جدول واحد ، فيمكنك كتابة استعلامك بهذا الشكل (ربما في MySQL فقط):
INSERT INTO table1 (First, Last)
VALUES
('Fred', 'Smith'),
('John', 'Smith'),
('Michael', 'Smith'),
('Robert', 'Smith');
ملاحظة: هذه الإجابة لـ SQL Server 2005. بالنسبة لـ SQL Server 2008 والإصدارات الأحدث ، هناك طرق أفضل بكثير كما هو موضح في الإجابات الأخرى.
يمكنك استخدام إدراج مع SELECT UNION ALL :
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
...
فقط لمجموعات البيانات الصغيرة ، والتي يجب أن تكون جيدة لسجلاتك الأربعة.