Trending Topic

Untitled Document

22 Aralık 2016 Perşembe

MSSQL de Stored Procedure Kullanarak "Dinamik Isimli Tablolar" Olusturmak

MSSQL stored prosedure içinde "CREATE TABLE @TableName" seklinde degisken isimli olarak tablo olusturmaya izin vermemektedir. Fakat biz bu islemi biraz kurnazlik yaparak gerçeklestirebiliriz. Dinamik isimli tablo olusturmak için önce tablonun olusturulmasini gerçeklestirecek kodlari string halinde yazariz ve tablo ismi kismini da stringe degisken olarak ekleriz. Daha sonra EXEC() komutu ile bu stringi çagirip tablonun olusmasini saglayabiliriz. Örnek olarak alttaki kodu inceleyebilirsiniz.

CREATE PROCEDURE dbo.createTable
(
    @TableName varchar(10)
)
AS
    DECLARE @SQL varchar(2000)
   
    SET @SQL ='
        create table ' + @TableName + '
        (
            id int,
            name varchar(10)
        )
    '

EXEC(@SQL)
//DENEME