17 Eylül 2016 Cumartesi

SQL - Stored Procedure Tarafından Üretilen Sonuç Kümesini Başka Bir Tabloya Kaydetmek

Stored Procedure çalıştırıldığında elde edilen sonuç kümesi ile aynı yapıda bir tablomuz olduğunu varsayalım. Yoksa oluşturalım.

Sonrasında tek yapmamız gereken aşağıdaki gibi bir insert sorgusu yazmak;

INSERT INTO şema.HedefTablo
exec BizimProcedure @parametre1,@parametre2

NOT: Parametre almayan bir stored procedure de kullanabilirdik pek tabii ki.

5 yorum:

Unknown dedi ki...

Merhaba,
Select * INTO #TEMP FROM exec bizimProcedure diyerek insert etme gibi basit bir yol varmıdır procedure sonuc kümesinde?

Ercan Bozkurt dedi ki...

Direkt o şekilde yok ama openrowset ya da openquery ile benzer bir şey yapabiliriz.

select sonuc.* into #gecicitablo
from openrowset('SQLNCLI', 'Server=localhost;Trusted_Connection=yes;','SET NOCOUNT ON;SET FMTONLY OFF ; exec msdb..sp_help_job') AS sonuc;

select * from #gecicitablo;

Ercan Bozkurt dedi ki...

http://wiki.lessthandot.com/index.php/Store_The_Output_Of_A_Stored_Procedure_In_A_Table_Without_Creating_A_Table

Yukarıdaki link işine yarayacaktır.
Aşağıdakine de bir göz atabilirsin.

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/f456960b-dbd9-4fae-ab07-c6c09af17fb3/select-into-table-from-a-stored-procedure-possible?forum=transactsql

Unknown dedi ki...

Çok teşekkür ederim.

Unknown dedi ki...

Çok teşekkür ederim.