SORU
17 Mart 2010, ÇARŞAMBA


Eklemek birden fazla (SQL Server 2005)kullanarak TAKIN değerleri

SQL Server 2005'te, bir tabloya birden çok alan eklemek mümkün değilim neden olduğunu anlamaya çalışıyorum. Ekler bir kayıt bir sorudur efendim, gayet iyi çalışıyor:

INSERT INTO [MyDB].[dbo].[MyTable]
           ([FieldID]
           ,[Description])
     VALUES
           (1000,N'test')

Ancak, birden fazla değer belirtir bir sorudur efendim, başarısız:

INSERT INTO [MyDB].[dbo].[MyTable]
           ([FieldID]
           ,[Description])
     VALUES
           (1000,N'test'),(1001,N'test2')

Bu mesajı alıyorum:

Msg 102, Level 15, State 1, Line 5
Incorrect syntax near ','.

Ben baktım yardım için EKLE SQL Server Management Studio, bir örnek gösterdi kullanma "Değerler" sözdizimi kullandım (sahip grupların değerleri parantez içinde ve virgülle ayırarak). Belgeleri ben SQL bulundu yardım Server Management Studio SQL Server 2008, bu Ekle çalışmıyor bu yüzden belki de benziyor. Her iki şekilde de, bu bir işe yaramaz neden olduğunu çözemedim.

CEVAP
17 Mart 2010, ÇARŞAMBA


Kullandığınız sözdizimi yeni SQL Server 2008

INSERT INTO [MyDB].[dbo].[MyTable]
       ([FieldID]
       ,[Description])
 VALUES
       (1000,N'test'),(1001,N'test2')

SQL Sunucu INSERT birden çok deyimleri kullanmak zorunda olacak 2005,:

INSERT INTO [MyDB].[dbo].[MyTable]
       ([FieldID]
       ,[Description])
 VALUES
       (1000,N'test')

INSERT INTO [MyDB].[dbo].[MyTable]
       ([FieldID]
       ,[Description])
 VALUES
       (1001,N'test2')

Bir diğer seçenek UNION ALL kullanmak için:

INSERT INTO [MyDB].[dbo].[MyTable]
       ([FieldID]
       ,[Description])
SELECT 1000, N'test' UNION ALL
SELECT 1001, N'test2'

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • midomansour

    midomansour

    19 EYLÜL 2009
  • Techmoan

    Techmoan

    31 Mayıs 2009