Sql 选择变量动态值

Sql 选择变量动态值,sql,sybase,sap-ase,Sql,Sybase,Sap Ase,(我已经声明了变量) 我有以下疑问 select @VCOUNT = count(1) from @TMP_NAME||'TAB1'||@TIME 给出以下错误 “@TMP_NAME”附近的语法不正确 tmp_名称和时间是动态的 查询是这样的,它起作用了: select @VCOUNT = count(1) from tab1 如何添加动态选择变量?将整个select语句放入包含Sql的字符串中,例如@Sql select @Sql = 'select @VCOUNT = count(1)

(我已经声明了变量)

我有以下疑问

select @VCOUNT = count(1) from @TMP_NAME||'TAB1'||@TIME 
给出以下错误

“@TMP_NAME”附近的语法不正确

tmp_名称和时间是动态的

查询是这样的,它起作用了:

select @VCOUNT = count(1) from tab1

如何添加动态选择变量?

将整个select语句放入包含Sql的字符串中,例如@Sql

select @Sql = 'select @VCOUNT = count(1) from ' + @TMP_NAME + 'TAB1' + @TIME 
然后对动态sql使用EXEC:

EXEC(@Sql)
@VCOUNT将在动态sql内部设置,并在动态语句外部可用


由于它是动态的,因此如果该语句位于SP内,您将不会受益于该语句的存储查询计划,但这可能并不重要,这取决于。

将整个select语句放入包含Sql的字符串中,例如@Sql

select @Sql = 'select @VCOUNT = count(1) from ' + @TMP_NAME + 'TAB1' + @TIME 
然后对动态sql使用EXEC:

EXEC(@Sql)
@VCOUNT将在动态sql内部设置,并在动态语句外部可用


由于它是动态的,因此如果该语句位于SP内,您将不会受益于该语句的存储查询计划,但这可能并不重要,这取决于。

将整个select语句放入包含Sql的字符串中,例如@Sql

select @Sql = 'select @VCOUNT = count(1) from ' + @TMP_NAME + 'TAB1' + @TIME 
然后对动态sql使用EXEC:

EXEC(@Sql)
@VCOUNT将在动态sql内部设置,并在动态语句外部可用


由于它是动态的,因此如果该语句位于SP内,您将不会受益于该语句的存储查询计划,但这可能并不重要,这取决于。

将整个select语句放入包含Sql的字符串中,例如@Sql

select @Sql = 'select @VCOUNT = count(1) from ' + @TMP_NAME + 'TAB1' + @TIME 
然后对动态sql使用EXEC:

EXEC(@Sql)
@VCOUNT将在动态sql内部设置,并在动态语句外部可用


由于它是动态的,如果该语句位于SP内,您将无法获得该语句的存储查询计划的好处,但这可能并不重要,这取决于。

Abe是正确的,您需要将其放入字符串中。这是你问题的答案。谢谢你的提问,我昨天已经做了,效果很好,希望这个问题能对未来的人有所帮助。阿贝是对的,你需要把它整理一下。这是你问题的答案。谢谢你的提问,我昨天已经做了,效果很好,希望这个问题能对未来的人有所帮助。阿贝是对的,你需要把它整理一下。这是你问题的答案。谢谢你的提问,我昨天已经做了,效果很好,希望这个问题能对未来的人有所帮助。阿贝是对的,你需要把它整理一下。这是你问题的答案。谢谢你的提问,我昨天已经做了,效果很好,希望这个问题能对将来的人们有所帮助