nasıl

2016-03-28 19 views
0

İki prosedürnasıl

1) PROC_A verir aşağıdakilere sahip bir saklı yordam bir temptable Insert Into için iki masalar çalıştırıldığında örn ben içeriğini eklemek gerekir Table1 ve PROC_B yılında

2 Tablo2

) PROC_B içinde bir temptable içine PROC_A yürüterek döndürülen tablo1 TABLE1 sütunları

değişebilir ben

INSERT INTO #tem1 FROM EXEC PROC_A 

PROC_B böyle bir şey çalışıyorum Nasıl onun

sELECT * INTO #tem1 
FROM OPENROWSET('SQLNCLI', 'server=(local);trusted_connection=yes', 
'your query') 

da anlık için sorgular dağıtılan etkinleştirmeniz gerekir, temp tablo zaten tanımlı ise, o zaman o

INSERT INTO #tem1 
EXEC PROC_A 

değilse do

cevap

0

çalışmıyor bunu yapabilir açık sorgu çalışması için ..

sp_configure 'show advanced options', 1 
reconfigure 
go 
sp_configure 'Ad Hoc Distributed Queries', 1 
reconfigure 

Ayrıca, veri türünü görmek için 2012'de sonuç kümesini tanımla DMV'yi kullanabilirsiniz. query.The fikir için döndürülen s geçici tabloya set tanımlamak sonucun çıktısını yerleştirin ve dinamik SP iki sonuç kümelerini sonuçlanması durumunda one..Further notu oluşturmaktır, tek ..

sp_describe_first_result_set @tsql = N'SELECT object_id, name, type_desc FROM sys.indexes' 
+0

geçici tablo Ben bu projede – user3048027

+0

Açık satır kümesi sp_configure izin verilecektir Hava bilmiyorum başka bir yolu var mı dinamik bir temp inşa etmenin tek yolu budur tablo – TheGameiswar

0
CREATE TABLE #tmp 
(
    Col1 SMALLINT, 
    Col2 SMALLINT, 
    Col3 SMALLINT, 
    Col4 SMALLINT, 
    Col5 SMALLINT, 
    . 
    . 
    . 
) 

INSERT INTO #tmp 
EXEC PROC_A 

SELECT * FROM #tmp 

Drop table #tmp 
iade edilecektir

Bu sizin için çalışmış olan ... tanımlanmamıştır