none
T-SQL Reference FAQ: Bagaimana cara menetapkan nama kolom dan nama tabel ke variabel dalam T-SQL? RRS feed

  • Diskusi Umum

  • Kita tidak bisa menetapkan nama kolom dan nama tabel ke variabel di T-SQL. Sebaliknya, kita harus menggunakan query dinamis untuk mencapai hal ini.

     

    <div style="BORDER-BOTTOM: windowtext 1pt solid; BORDER- PADDING-BOTTOM: 1pt; PADDING- WIDTH: 600px; PADDING-RIGHT: 4pt; MARGIN- BORDER- BORDER-RIGHT: windowtext 1pt solid; PADDING->

    USE northwind

    GO

     

    DECLARE @tblname NVARCHAR(50)

    DECLARE @colname NVARCHAR(50)

     

    SET @tblname = 'Products'

    SET @colname = 'ProductName'

     

    SET

     

    DECLARE @sql nvarchar(4000)

    SET @sql = 'SELECT '+ QUOTENAME(@colname)+ 'FROM dbo.' + QUOTENAME(@tblname)

     

    EXEC sp_executesql @sql

    </div>

     

    Kita juga harus memperhatikan bahwa Dynamic SQL juga dapat menambah resiko untuk menjadi rentan terhadap penyerangan SQL injection.

     

    Link terkait:

     

    Dynamic SQL & SQL injection

    http://blogs.msdn.com/raulga/archive/2007/01/04/dynamic-sql-sql-injection.aspx

     

    The Curse and Blessings of Dynamic SQL

    http://www.sommarskog.se/dynamic_sql.html


    Agnes Sannie [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Rabu, 02 Mei 2012 09.12
    Moderator