Sql server 从动态查询SQL返回语句

Sql server 从动态查询SQL返回语句,sql-server,tsql,dynamic-sql,Sql Server,Tsql,Dynamic Sql,我正在编写一个程序,它接受一些参数并将它们发送到动态查询中 所以,我的问题是-我可以像这样从动态查询返回语句吗: set @sql=' if not exists ( select * from sys.columns where object_id=OBJECT_ID('''+@table_name+''',''U'') and (name=''path_file''or name=''file_path'

我正在编写一个程序,它接受一些参数并将它们发送到动态查询中

所以,我的问题是-我可以像这样从动态查询返回语句吗:

 set @sql='
    if not exists (
        select * 
        from sys.columns 
        where object_id=OBJECT_ID('''+@table_name+''',''U'') 
            and (name=''path_file''or name=''file_path'')
     )
    begin
      set @msg=''error''
    end'

@msg过程变量

我假设这是SQL Server?在这种情况下,请查看使用
sp_executesql
和输出参数?为什么这里需要动态sql?从您发布的内容来看,它根本不需要。SeanLange我的程序中有参数吗?比如表名、文件名、文件路径,我不知道如何在没有动态原因的情况下实现这一点,例如,如果没有动态原因,我无法编写类似以下内容:createtable@table\u name