SORU
16 EKİM 2008, PERŞEMBE


Neden saklı yordam kümesi sütunları seç

80 sütun ve 300 satır döndüren saklı bir yordam var. Bu sütunlar 2 alır bir select yazmak istiyorum. Gibi bir şey

SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2'

Kullandığım zaman yukarıdaki hatayı alıyorum komut:

"". Geçersiz Sütun Adı

En kolay çözüm saklı yordam değiştirmek olacağını biliyorum, ama bunu ben yazmadım, ve bunu değiştiremem.

İstediğim şeyi yapmak için herhangi bir yolu var mı?

  • Geçici bir tablo sonuçlarını koymak için yapabilirim, ama 80 sütun temp ama ben 80 sütun vardır çünkü sadece 2 sütun için tablo. Döndürülen tüm sütunları izleme kaçınmak istedim.

  • Mark önerdiği gibi WITH SprocResults AS .... kullanarak denedim, ama 2 hata var

    Anahtar sözcüğü yakınında yanlış sözdizimi''. EXEC
    Yakınında yanlış sözdizimi ')'.

  • Bir tablo değişkeni bildirmek çalıştım ve aşağıdaki hatayı aldım

    Ekleme Hatası: verilen değerler Sütun adı veya numarası tablo tanımına uymuyor

  • Eğer çalışırsam
    SELECT * FROM EXEC MyStoredProc 'param1', 'param2'
    Hata alıyorum :

    Anahtar sözcüğü yakınında yanlış sözdizimi''. exec

CEVAP
16 EKİM 2008, PERŞEMBE


Bu sorgu mi bölünür? Tablodaki saklı proc sonuçları değişken veya geçici bir tablo. Sonra, Tablo 2 sütun değişkeni seçin.

Declare @tablevar table(col1,..
insert into @tablevar(col1,..) exec MyStoredProc 'param1', 'param2'

SELECT col1, col2 FROM @tablevar

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • ipsy

    ipsy

    1 EKİM 2012