sql - 如何轻松地将列添加到临时表?

标签 sql sql-server

我可以将任意数量和类型的列添加到临时表中,而无需先定义它们:

select into #temp from table;

但如果我想稍后在我的脚本中向这个临时表添加列,我知道的唯一方法是:

alter #temp add column int;
insert into #table (column) select column from table;

如果我想添加多个列,这有点麻烦。有没有办法在不先定义它们的情况下将列添加到临时表?

最佳答案

我认为 insert 在添加一列后不合适。 Update 看起来更像你想要的操作。

一种选择是创建一个新的临时表:

select t.*, 'value' as col
into #temp1
from #temp t;

但是,对于现有表,无法同时添加和填充列 - 除非提供默认值。

但是,您可以同时添加多个列:

alter #temp add col1 int, col2 int, col3 int;

update #temp t
    set col1 = 1, col2 = 2, col3 = 3;

关于sql - 如何轻松地将列添加到临时表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36132639/

相关文章:

sql - 使用子选择更新 - 如何处理 NULL 值?

sql - Hibernate 创建标准两次连接同一个表 - 尝试了 2 种方法,但有 2 个差异错误

PHP多重查询的性能和速度?

c++ - SQLITE:如何在 UPDATE 语句中使用 SELECT 语句更新表?

sql - Group By 基于另一列的聚合

sql-server - 有没有一种优雅的方法来跟踪 SQL Server 2008 中一个表的所有列的修改

java - 无法从 java 应用程序连接到 sqlserver

sql - 如何在 PostgreSQL 中使用带变量的内部连接创建 View ?

mysql从表中选择不同的月份(缩写)

sql-server - 插入语句在 SQL Server 2005 上失败,但在 2008 R2 或更高版本上运行良好