根据临时表(表格模式和数据)

时间:2011-05-11 07:09:48

标签: temp-tables

根据临时表(表格架构和数据),如何创建物理表并将返回的记录插入其中?

1 个答案:

答案 0 :(得分:0)

hi,

在下面的示例代码中,我正在使用案例条件从临时表中恢复列 在步骤2中,我们检查是否已从案例陈述中选择任何列。 在步骤3中,我们只选择从上述情况stmn​​t中检索到的列。 在步骤4中,我们使用上面选择的列名称创建物理表,然后插入其中。 atlast放下两个表

我希望这会对你有所帮助

步骤1:

  DECLARE @dynsql NVARCHAR(MAX)  
  SELECT @dynsql =    
            CASE WHEN columnname1 >0 THEN ',columnname' ELSE '' END +                       
            CASE WHEN columnname2 >0 THEN ',columnname2' ELSE '' END +           
            .
            .
            CASE WHEN columnnamen >0 THEN ',columnnamen ' ELSE '' END                 
  FROM ##temptble     
  WHERE  condition  =  cond;

第2步:

  IF(LEN(@dynsql) > 0)     
   BEGIN  

第3步:

   SET @dynsql = STUFF(@dynsql,1,1,'SELECT machinename, ') + ' FROM ##temptble'       
   EXEC(@dynsql)      
    END       
  decalre f nvarchar(max)

第4步:

  set @f = STUFF(@dyncreate,1,6,'create table ven_temp( descriptionname nvarchar(111),' )  + '   int )'   
 exec(@f)   
  insert into ven_temp    
   EXEC(@dynsql)