SORU
12 HAZİRAN 2012, Salı


Nasıl bir INSERT deyimi kullanın'ÇIKIŞ tümcesi kimlik değerini almak için s?

Eğer bir ınsert deyimi gibi kalırsam:

INSERT INTO MyTable
(  
  Name,
  Address,
  PhoneNo
)
VALUES
(
  'Yatrix',
   '1234 Address Stuff',
   '1112223333'
)

Nasıl @var INT yeni bir satır kimlik değerini (Id) denilen ÇIKIŞ maddesini kullanarak ayarlarım? EKLENEN koyarak örnekler gördüm.Tablo değişken adı, örneğin, ama bir tablo olmayan bir değişken içine giremiyorum.

OUPUT INSERTED.Id AS @var, SET @var = INSERTED.Id, denedim ama hiçbiri çalıştı.

Şimdiden teşekkürler.

CEVAP
12 HAZİRAN 2012, Salı


Ya da yeni eklenen KİMLİĞİ SSMS bu konsol için çıkış olabilir:

INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')

Kullanabilirsiniz bu da-örneğin C#, ne zaman ihtiyacınız almak KİMLİĞİNİ geri arama uygulaması - sadece yürütme SQL sorgu ile .ExecuteScalar() (yerine .ExecuteNonQuery()) okuma sonuç ID geri.

Veya T-SQL içinde yeni eklenen ID yakalama gerekiyorsa (daha sonra daha fazla işlem için, örneğin, bir tablo değişkeni oluşturmanız gerekir:

DECLARE @OutputTbl TABLE (ID INT)

INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')

Bu şekilde, @OutputTbl içine birden fazla değer koymak ve bunlar üzerinde daha fazla işlem yapabilirsiniz. Ayrıca "" geçici tablo (#temp) ya da "kalıcı" tablo "" işte. hedef çıktı olarak normal bir şekilde kullanabilirsin

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jesiel santos

    jesiel santo

    15 Ocak 2009
  • Miles Fisher

    Miles Fisher

    8 NİSAN 2009
  • Monica Catral

    Monica Catra

    12 NİSAN 2009