mysql动态结果集放入临时表_结果集存放到临时表

在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种。

1.INSERT INTO SELECT语句

语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。

2.SELECT INTO FROM语句

语句形式为:SELECT vale1, value2 into Table2 from Table1

要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

批量删除

delete from table where id in (xxxxxxxx) 或者delete from table where id in ( select id from table where enabled = 0)

INNER JOIN 连接三个数据表的用法:

SELECT (表?).字段,(表?).字段 。。。  FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号

如何使用EXEC里面创建的临时表

当我这样创建临时表的时候可以使用:

select * into #tmp from TableA;

select * from #tmp;

但是这样创建临时表却不可以使用:

EXEC ('select * into #tmp from TableA');

select * into #tmp from TableA;

------解决方案--------------------

把SELECT..INTO 也写到EXEC里面去。

------解决方案--------------------

如果后边还有用到临时表处理的东西,也写到exec中去。

------解决方案--------------------

EXEC ('select * into #tmp from TableA;select * from #tmp')

一. SELECT INTO

1. 使用select into会自动生成临时表,不需要事先创建

select * into #temp from sysobjects

01. 把存储过程结果集SELECT INTO到临时表

select * from #temp

2. 如果当前会话中,已存在同名的临时表

select * into #temp from sysobjects

再次运行,则会报错提示:数

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值