在临时表的指定字段前面插入字段

原创 2005年05月30日 21:49:00

在临时表的指定字段前面插入字段

问题描述:
    使用下面的代码创建一个临时表,怎么样才能在‘长度’字段之前插入一个字段?
create table #temp(CODE varchar(50),长度 varchar(50),颜色 varchar(50), 合计 varchar(50))

/*- 一般来说,列位置不重要,处理的时候写列的列表就行了。如果一定要处理,则参考下面的示例-*/
--创建临时表
create table #temp(CODE varchar(50),长度 varchar(50),颜色 varchar(50), 合计 varchar(50))
--添加一列 alter table #temp add 新加字段 varchar(50)
go
--调整列的位置,把新加字段移动到长度的前面
EXEC sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
go
update a set
    colid=case when a.colid=c.colid then b.colid else a.colid+1 end,
    colorder=case when a.colid=c.colid then b.colid else a.colid+1 end
from tempdb.dbo.syscolumns a,
    (select colid from tempdb.dbo.syscolumns
    where id=object_id('tempdb.#temp')
        and name=N'长度') b,
    (select colid=max(colid) from tempdb.dbo.syscolumns
    where id=object_id('tempdb.#temp')) c
where a.id=object_id('tempdb.#temp')
    and a.colid>=b.colid
go

EXEC sp_configure 'allow updates',0
RECONFIGURE WITH OVERRIDE
GO

--显示结果
select * from #temp

--删除临时表
drop table #temp

/*--结果
CODE    新加字段    长度    颜色    合计
------- ----------- ------- ------- -------
(所影响的行数为 0 行)
--*/

原帖地址

sqlserver 中临时表、临时变量和with as关键词创建“临时表”的区别

SQL数据库中数据处理时,有时候需要建立临时表,将查询后的结果集放到临时表中,然后在针对这个数据进行操作。   创建“临时表”(逻辑上的临时表,可能不一定是数据库的)的方法有一下几种:  ...
  • miqi770
  • miqi770
  • 2016年05月26日 15:39
  • 3697

SQLite数据库创建临时表、增加列的方法

这两天帮朋友做一个关于地热数据处理的小软件再次用到了SQLite数据库,不过这次不是使用其缓存/内存数据库的功能,而是纯粹将其作为一个嵌入式文件数据库来使用的,其实对于数据量级相对比较小的系统而言,嵌...
  • u014070670
  • u014070670
  • 2015年01月11日 10:08
  • 1650

SQL 语句调优 where 条件 数据类型 临时表 索引

基本原则 避免全表扫描建立索引尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理尽量避免大事务操作,提高系统并发能力使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案...
  • ysh126
  • ysh126
  • 2016年11月09日 16:21
  • 700

谨防MySql隐式(内部)临时表影响性能

转自:http://www.linuxidc.com/Linux/2012-10/71777.htm 当某些SQL命令在MySQL数据库中被执行的时候,它可能需要先创建一些内部的临时表来完成比较...
  • abc86319253
  • abc86319253
  • 2014年08月04日 11:45
  • 1475

MySql 存储过程 临时表 无法插入数据

今天在写存储过程的时候,发现一个问题就是,sql明明能查出数据,为啥无法插入到临时表、实体表呢? 存储过程截取如下:BEGIN /******************************...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2017年01月11日 12:26
  • 974

oracle复制表结果与数据,以及创建临时表

1. 复制表结构及其数据: create table table_name_new as select * from table_name_old 2. 只复制表结构: create...
  • luguling200802544
  • luguling200802544
  • 2015年06月12日 16:36
  • 1577

MySql临时表,索引的简单介绍

简单的sql操作,希望可以帮到一些刚入行的同学,欢迎交流和指正。
  • pengmuhua
  • pengmuhua
  • 2017年06月13日 10:21
  • 957

MySQL临时表的简单用法

当工作在非常大的表上时,你可能偶尔需要运行很多查询获得一个大量数据的小的子集,不是对整个表运行这些查询,而是让MySQL每次找出所需的少数记录,将记录选择到一个临时表可能更快些,然后在这些表运行查询。...
  • yu757371316
  • yu757371316
  • 2016年11月04日 13:57
  • 1030

MySQL为表的指定字段添加数据

只向表的部分字段添加数据,而其他字段的值为表定义时的默认值 INSERT INTO 表名(字段1,字段2,……) VALUES(值1,值2,……);参数说明字段1,字段2,……表示数据表中的字段名...
  • nangeali
  • nangeali
  • 2017年06月23日 11:47
  • 1107

Informix数据库临时表的一些总结

在Informix数据库中,创建临时表来处理应用中的临时数据,并且临时表数据存储在临时表空间中,Informix系统不记录临时表的字典信息 从数据库系统表中查询不到临时表的任何相关信息,可以在临时表...
  • qq_24063701
  • qq_24063701
  • 2017年12月12日 16:35
  • 126
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在临时表的指定字段前面插入字段
举报原因:
原因补充:

(最多只允许输入30个字)