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:

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

    YanıtlaSil
  2. 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;

    YanıtlaSil
  3. 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

    YanıtlaSil