【问题标题】:SQL Server Insert Into Temp table from a table variableSQL Server 从表变量插入临时表
【发布时间】:2015-09-16 09:34:22
【问题描述】:

我需要将表变量中的数据插入到临时表中,但它给了我以下错误。

消息 208,级别 16,状态 0,过程 sp_CreateScenario_q2,第 70 行
无效的对象名称“#tmpp1”。

这里是代码

IF OBJECT_ID('tempdb..#tmpp1') IS NOT NULL
   DROP TABLE #tmpp1

INSERT INTO #tmpp1 
   SELECT  
       [PlanningHierarchyId] 
       ,[ProductReferenceId]
       ,[PlanningYear] 
       ,[PlanningSeason]
       ,[UpdatedBy] 
   FROM 
       @paramTable

有什么办法吗?

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    因为您删除临时表然后尝试插入其中,所以出现错误“无效对象名称 '#tmpp1”。

    尝试使用:

    IF OBJECT_ID('tempdb..#tmpp1') IS NOT NULL
       DROP TABLE #tmpp1
                SELECT  
                     [PlanningHierarchyId] 
                    ,[ProductReferenceId]
                    ,[PlanningYear] 
                    ,[PlanningSeason]
                    ,[UpdatedBy]
                INTO #tmpp1  
                FROM @paramTable
    

    【讨论】:

      【解决方案2】:

      你正在丢桌子。要么使用CREATE 创建一个,要么使用select * into 而不是insert into

        IF OBJECT_ID('tempdb..#tmpp1') IS NOT NULL
         DROP TABLE #tmpp1 
      
                  SELECT  
                       [PlanningHierarchyId] 
                      ,[ProductReferenceId]
                      ,[PlanningYear] 
                      ,[PlanningSeason]
                      ,[UpdatedBy] into #tmpp1
                  FROM @paramTable
      

      【讨论】:

        【解决方案3】:

        当表已经存在时使用插入,使用 SELECT into from 。当您尝试插入临时表时,临时表不存在。

        参考:INSERT INTO vs SELECT INTO

         IF OBJECT_ID('tempdb..#tmpp1') IS NOT NULL
               DROP TABLE #tmpp1;
        
                        SELECT  
                             [PlanningHierarchyId] 
                            ,[ProductReferenceId]
                            ,[PlanningYear] 
                            ,[PlanningSeason]
                            ,[UpdatedBy] 
                            INTO #tmpp1
                        FROM @paramTable
        

        【讨论】:

          猜你喜欢
          • 2011-08-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-05
          • 1970-01-01
          • 2022-01-15
          • 1970-01-01
          • 2017-11-16
          相关资源
          最近更新 更多