Sql 是否基于字符串值删除临时表?

Sql 是否基于字符串值删除临时表?,sql,sql-server-2008,Sql,Sql Server 2008,在sql server 2008中是否有方法使用字符串删除#tt: delete temp table with name = 'tt' 编辑:如果有一个像:getString(#tt)这样的函数返回“tt”,那会有什么好处呢?您可以使用动态SQL实现这一点: EXEC('DROP TABLE #' + @MyTempTable) 如果您走这条路,我会仔细阅读以了解动态sql的优缺点。您可以使用动态sql: EXEC('DROP TABLE #' + @MyTempTable) 如果你走这

在sql server 2008中是否有方法使用字符串删除#tt:

delete temp table with name = 'tt'

编辑:如果有一个像:getString(#tt)这样的函数返回“tt”,那会有什么好处呢?

您可以使用动态SQL实现这一点:

EXEC('DROP TABLE #' + @MyTempTable)

如果您走这条路,我会仔细阅读以了解动态sql的优缺点。

您可以使用动态sql:

EXEC('DROP TABLE #' + @MyTempTable)

如果你走这条路,我会好好读一读,了解动态sql的优缺点。

虽然你可以用动态sql做到这一点,但我不确定你将如何用非动态sql在父会话作用域中创建不同的临时表,然后在子会话作用域中使用动态sql


你能举个例子说明你正在做什么来创建这些表,以及你想把它们放在哪里吗?

虽然你可以用动态SQL来创建这些表,但我不确定你要如何用非动态SQL在父会话作用域中创建不同的临时表,然后在子会话作用域中使用动态SQL


你能举一个例子说明你正在做什么来创建这些表以及你想把它们放在哪里吗?

what?你能澄清一下你想要什么吗?假设我有一个名为#tt的临时表。如果我只使用字符串“tt”,而不创建带有:if(string='tt')的if语句,那么有没有一种方法可以删除它?ttI认为您需要使用动态sql,您是否知道一旦调用它的存储过程退出,#temp表(而不是##global mind you)就会被删除。这对你来说还不够好吗?你能解释一下为什么你认为你需要删除一个临时表,这个临时表是以某种方式创建的,它阻止了你的脚本知道它叫什么吗?什么?你能澄清一下你想要什么吗?假设我有一个名为#tt的临时表。如果我只使用字符串“tt”,而不创建带有:if(string='tt')的if语句,那么有没有一种方法可以删除它?ttI认为您需要使用动态sql,您是否知道一旦调用它的存储过程退出,#temp表(而不是##global mind you)就会被删除。这对你来说还不够好吗?你能解释一下为什么你认为你需要删除一个临时表,这个临时表是以某种方式创建的,它会阻止你的脚本知道它的名字吗?