数据库

sql插入临时表语句遇到的问题

2010-11-11

select * into #temp_tb from table1 
这就是把表的全部内容添加列到临时表的标准格式,注意表名,用IF EXISTS事先检测一下


请问这段sql语句什么意思?
select newnum=max(AAA),c0102 into #temp1 from A001a003 group by c0102

回答:
从表A001a003中选出列AAA的最大值重命名为newnum,以及列c0102,并按列c0102分组,然后将结果插入到临时表#temp1中。
最后的结果是得到了一个临时表#temp1,表中有两列:newnum和c0102,内容为表A001a003中列c0102中每个不同值中列AAA最大的一个。

 

数据库 SQL中用SELECT INTO语句创建的临时表在数据库中看得到吗?

回答:
在MS SQL SERVER中临时表不存储在当前数据库内,而是存储在系统数据库 tempdb 内;如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表。

 

SQL语句 INSERT……INTO…… SELECT 插入的顺序问题

问题如下:
   比如我有一个USERS表,三列uId(标示,自动增长列),uName,uPwd现在我用如下SQl语句插入数据:
  
   INSERT INTO USERS([uName],uPwd)
   SELECT 张三,123456 UNION
   SELECT 李四,123456 UNION
   SELECT 王五,123456 UNION
   SELECT 谢六,123456
我的理想结果应该是:
   1  张三   123456
   2  李四   123456
   3  王五   123456
   4  谢六   123456
为何我数据表中的数据顺序为:
   1  李四   123456
   2  王五   123456
   3  谢六   123456
   4  张三   123456

我就想要它按照我写的SQl顺序插入相关数据,这个问题困扰我很久了。

回答:

INSERT INTO USERS([uName],uPwd)
SELECT 张三,123456 UNION all
SELECT 李四,123456 UNION all
SELECT 王五,123456 UNION all
SELECT 谢六,123456
(上面着段回答的语句名字和数字外都是有单引号的,可能传入时被过滤掉了)