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
)
我有上面的内容,我希望将标题命名为:
DateTime|Coke TickerID |Coal TickerID |Coke Bid |Coke Ask |Coal Bid |Coal Ask
但是当我使用上面的代码时,我会收到错误:
'+ quotename附近的语法错误(Concat(@ product,'。
)
答案 0 :(得分:1)
以下是查询:我修复了几件事:
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)
请注意,对于名称为&#34的列;询问"我已将float添加为类型,您可以根据需要更改上述查询