Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何为表格标题插入变量类型_Sql_Sql Server 2014 - Fatal编程技术网

Sql 如何为表格标题插入变量类型

Sql 如何为表格标题插入变量类型,sql,sql-server-2014,Sql,Sql Server 2014,我有上述内容,我希望标题命名为: if object_id('tempdb..#mysql_cte1') is not null drop table #mysql_cte1 create table #mysql_cte1 ( DateTime datetime, ' + quotename(Concat(@product, ' ', 'TickerID')) + ' int, ' + quotename(Concat(@product2, ' '

我有上述内容,我希望标题命名为:

if object_id('tempdb..#mysql_cte1') is not null 
     drop table #mysql_cte1

create table #mysql_cte1
(
     DateTime datetime, ' + 
     quotename(Concat(@product, ' ', 'TickerID')) + ' int, ' +
     quotename(Concat(@product2, ' ', 'TickerID')) + ' int,' + 
     quotename(Concat(@product, ' ', 'Bid')) + ' float, ' + 
     quotename(Concat(@product, ' ', 'Ask')) + ',' + 
     quotename(Concat(@product2, ' ', 'Bid')) + ' float,' +
     quotename(Concat(@product2, ' ', 'Ask')) + ' float 
)
但是当我使用上述代码时,我会得到错误:

“+quotename(Concat(@product)”附近的语法不正确


问题是:我已经解决了两件事:

DateTime|Coke TickerID |Coal TickerID |Coke Bid |Coke Ask |Coal Bid |Coal Ask

请注意,对于名为“Ask”的列,我添加了float作为类型,您可以根据需要更改上述查询

形成一个动态查询,然后使用“exec”或exec sp_executesqlSo执行,所以我猜您的意思是:set@mysql:'exec(@mysql)是的,这是正确的。但是,在尝试了你的方法之后,我得到了这个错误:“tempdb”附近的语法不正确。你能将你尝试过的代码添加到问题中吗?嘿@Sujith,尝试了你告诉我的方法。仍然给我相同的错误:/I我可以执行我在上面的答案中添加的查询。请按原样复制粘贴并运行它,然后查看。得到了,刷新后)干杯!谢谢。
DECLARE @product varchar(100) = 'COKE'
DECLARE @product2 varchar(100) = 'Coal'
DECLARE @mysql varchar(max)
set @mysql = 'if object_id(''tempdb..#mysql_cte1'') is not null drop table #mysql_cte1 
          create table #mysql_cte1(DateTime datetime,'+quotename(Concat(@product, ' ', 'TickerID'))+' int,'+quotename(Concat(@product2, ' ', 'TickerID'))+' int,'+quotename(Concat(@product, ' ', 'Bid'))+' float,'+quotename(Concat(@product, ' ', 'Ask'))+' float,'+quotename(Concat(@product2, ' ', 'Bid'))+' float,'+quotename(Concat(@product2, ' ', 'Ask'))+' float) 
          SELECT * FROM #mysql_cte1'
           exec(@mysql)