2012-04-13 70 views
7

Possible Duplicate: How to SELECT * INTO [temp table] FROM [Stored Procedure]Ben <a href="http://en.wikipedia.org/wiki/Transact-SQL" rel="nofollow noreferrer">T-SQL</a> için yeni

'bir nesne veya sütun adı eksik veya boş' alma, geçici bir tabloya bir saklı yordam eklemek için çalışıyorum. Kayıtları seçen bir stored procedure var. Kayıtlı yordam tarafından döndürülen kayıtları sorgulamak istiyorum, bu yüzden kayıtları geçici bir tabloya eklemeye çalışıyorum.

(. Yığın   Taşma mesajlar ve diğer mesajlar o bunu nasıl olduğunu söylemek) Ama denemek, ben hata alıyorum:

object or column name is missing or empty'

Sadece saklı yordamı çalıştırdığınızda, bir masa olsun Bu adları ile sütunları var.

select * into #temp1 
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' //throws error saying columns must have names 

ama

exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' // Returns cols with names 

ben eksik?

cevap

6

ilk geçici tablo oluşturmayı deneyin:

CREATE TABLE #temp1 
(
    COL1 INT, 
    COL2 VARCHAR(MAX) 
) 

INSERT INTO #temp1 
exec alexander.dbo.get_uberrecords '20120101', '20120201', 'labcorp' 

son derece geniş sonuç kümesinin sizin durumda, herhangi bir durumda OPENROWSET

kullanmak isteyebilir, bu SO birçok seçenek vardır: Insert results of a stored procedure into a temporary table

+0

@ Jeff - maalesef çok büyük bir 40 sütunluk tablodur, bu harika bir seçenek değil – bernie2436

İlgili konular