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

  • Branboy3

    Branboy3

    12 AĞUSTOS 2012
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • YAN TV

    YAN TV

    20 EKİM 2011