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)