【问题标题】:Table cannot be build in this way?不能用这种方式建表吗?
【发布时间】:2018-04-01 19:45:19
【问题描述】:

由于某种原因,这不起作用。任何帮助将不胜感激。

declare @tsql varchar(100)
set @tsql = 'SELECT * INTO #TMPTABLE FROM ' + @tablename
exec(@tsql) 
set @tsql = 'drop table #TMPTABLE'
exec(@tsql)

无法删除表“#TMPTABLE”,因为它不存在或您没有权限。

但这有效:

 Select * INTO #TMPTABLE FROM EXAMPLETABLE
 set @tsql = 'drop table #TMPTABLE'
 exec(@tsql)

【问题讨论】:

    标签: sql select sql-server-2017


    【解决方案1】:

    一切都与范围有关。当您使用动态 SQL 时,您正在创建新的上下文。本地临时表仅存在于其会话中(不再存在)。

    以下两种情况:

    【讨论】:

      猜你喜欢
      • 2022-11-18
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      相关资源
      最近更新 更多