执行动态SQL查询

时间:2014-12-22 05:49:55

标签: sql-server

我需要在SQL内执行SP类似的声音。

DECLARE
@varSearchQ VARCHAR(100),
@varFieldName VARCHAR(100),
@varTableName VARCHAR(100),
@Sql VARCHAR(Max)

SET @varSearchQ='000'
SET @varFieldName='varConsoleID'
SET @varTableName='FF.ConsoleDT'

SET @Sql = N'SELECT ' + @varFieldName + ' 
           FROM ' + @varTableName + ' 
           WHERE ' + @varFieldName + ' LIKE %' + @varSearchQ + '%'

我找到了像EXEC sp_executesql @Sql这样的方式。但是我收到了错误。

1 个答案:

答案 0 :(得分:2)

试试这个

  

您应该使用Print进行调试统计

Create proc MYPROC
 as
 BEGIN


 DECLARE
    @varSearchQ VARCHAR(100),
    @varFieldName VARCHAR(100),
    @varTableName VARCHAR(100),
    @Sql VARCHAR(Max)

SET @varSearchQ='000'
SET @varFieldName='varConsoleID'
SET @varTableName='FF.ConsoleDT'

SET @Sql = N'SELECT ' + @varFieldName + ' 
           FROM ' + @varTableName + ' 
           WHERE ' + @varFieldName + ' LIKE ''%' + @varSearchQ + '%'''
           print  (@Sql)
           EXEC (@Sql)


 END