User Defined Table Type ve Table Valued Parameter

15 Ağu by NURULLAH ÇAKIR

User Defined Table Type ve Table Valued Parameter

User Defined Table Type ile bir tablonun yapısını tutabiliriz. Stored Procuder ya da Function’lar için table valued parameter tanımlayarak kullanabiliriz. Stored Procedure ya da Function içinde temporay tablo tanımlamak yerine bu yapıları kullanabiliriz.

Aşağıda örnek kullanımını görebilirsiniz.

USE AdventureWorks2008R2;
GO

/* table type oluşturuluyor. */
CREATE TYPE LocationTableType AS TABLE 
( LocationName VARCHAR(50)
, CostRate INT );
GO

/* table-valued parameter ile user defined table type'ı kullanıyoruz. Table valued parameter bu örnekte @TVP   */
CREATE PROCEDURE usp_InsertProductionLocation
    @TVP LocationTableType READONLY
    AS 
    SET NOCOUNT ON
    INSERT INTO [AdventureWorks2008R2].[Production].[Location]
           ([Name]
           ,[CostRate]
           ,[Availability]
           ,[ModifiedDate])
        SELECT *, 0, GETDATE()
        FROM  @TVP;
        GO

/* Oluşturduğumuz table type tipinde bir değişken tanımlıyoruz */

DECLARE @LocationTVP 
AS LocationTableType;

/* Bu değişkene veri girişi yapıyoruz. */
INSERT INTO @LocationTVP (LocationName, CostRate)
    SELECT [Name], 0.00
    FROM 
    [AdventureWorks2008R2].[Person].[StateProvince];

/* stored procedure'e parametre olarak bu değişkeni vererek çalıştırıyoruz*/
EXEC usp_InsertProductionLocation @LocationTVP;
GO

 

Kaynak https://msdn.microsoft.com/en-us/library/bb510489(v=sql.105).aspx

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir