18 Kasım 2010 Perşembe

MSSQL de Stored Procedure Kullanarak Dinamik İsimli Tablolar Oluşturmak

MSSQL stored prosedure içinde "CREATE TABLE @TableName" şeklinde değişken isimli olarak tablo oluşturmaya izin vermemektedir. Fakat biz bu işlemi biraz kurnazlık yaparak gerçekleştirebiliriz. Dinamik isimli tablo oluşturmak için önce tablonun oluşturulmasını gerçekleştirecek kodları string halinde yazarız ve tablo ismi kısmını da stringe değişken olarak ekleriz. Daha sonra EXEC() komutu ile bu stringi çagırıp tablonun oluşmasını sağlayabiliriz. Ö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)

Hiç yorum yok:

Yorum Gönder