存储过程中的select into from是干什么的
select into 赋值:
select 0 into @starttime
select @starttime from DUAL
into后边应该还有个变量名,into前面也还要带上筛选字段,例如
select count(*) into v_count from dual;
这条语句的意思是查询dual表的所有记录数,将查询结果存入v_count变量中,也就是给变量设值的用法 可以给变量赋值
CREATE PROCEDURE cp_p_recived ()
BEGIN
SELECT
IFNULL(MAX(recived_time), 0) INTO @starttime
FROM
p_recived_before;
DELETE FROM p_recived_before;
INSERT INTO p_recived_before (
user_id,
recived_time,
recived_count,
create_time,
city_id
) SELECT
cp.user_id,
cp.recived_time,
cp.recived_count,
cp.create_time,
cp.city_id
FROM
(
SELECT
(
SELECT
user_id
FROM
addrdb.w_contacts
WHERE
phone = w.receiver_mobile
LIMIT 1
) AS user_id,
w.sign_date AS recived_time,
1 AS recived_count,
unix_timestamp(now()) * 1000 AS create_time,
receiver_city_id AS city_id
FROM
tmsdb.w_waybill w
WHERE
w.sign_date > @starttime
AND w. STATUS = 200
ORDER BY
w.sign_date ASC
LIMIT 2000
) cp;
SELECT IFNULL(MAX(recived_time), 0) INTO @mymaxtime FROM p_recived_before;
INSERT INTO p_recived (
user_id,
recived_time,
recived_count,
create_time,
city_id
) SELECT
pr.user_id,
pr.recived_time,
pr.recived_count,
pr.create_time,
pr.city_id
FROM
(
SELECT
user_id,
recived_time,
recived_count,
create_time,
city_id,
MAX(recived_time)
FROM
p_recived_before WHERE user_id is NOT NULL
GROUP BY
user_id
) pr
LEFT JOIN (
SELECT
user_id
FROM
p_recived
WHERE
create_time >= UNIX_TIMESTAMP(CAST(SYSDATE() AS DATE)) * 1000
AND create_time < UNIX_TIMESTAMP(CAST(SYSDATE() AS DATE) + 1) * 1000
) p ON pr.user_id = p.user_id
WHERE
pr.user_id > 0
AND pr.city_id > 0
AND p.user_id IS NULL;
DELETE
FROM
p_recived_before;
INSERT INTO p_recived_before (
recived_time
) VALUES (@mymaxtime);
END
13611227650
select * from tmsdb.w_waybill w where receiver_id='KH1710260000080'
存储过程中的select into from是干什么的的更多相关文章
- 存储过程中使用select……into
在MySQL存储过程中使用SELECT -INTO语句为变量赋值: 用来将查询返回的一行的各个列值保存到局部变量中. 要求: 查询的结果集中只能有1行. SELECT col_name[,...] I ...
- 【转载】Sqlserver存储过程中使用Select和Set给变量赋值
Sqlserver存储过程是时常使用到的一个数据库对象,在存储过程中会使用到Declare来定义存储过程变量,定义的存储过程变量可以通过Set或者Select等关键字方法来进行赋值操作,使用Set对存 ...
- MySQL存储过程中使用SELECT …INTO语句为变量赋值
使用SELECT …INTO语句为变量赋值 在MySQL存储过程中,可以使用SELECT …INTO语句对变量进行赋值,该语句在数据库中进行查询,并将得到的结果赋值给变量.SELECT …INTO语句 ...
- oracle数据库存储过程中的select语句的位置
导读:在oracle数据库存储过程中如果用了select语句,要么使用"select into 变量"语句要么使用游标,oracle不支持单独的select语句. 先看下这个存储过 ...
- 存储过程中SELECT INTO的使用
在MySQL存储过程中使用SELECT …INTO语句为变量赋值: 用来将查询返回的一行的各个列值保存到局部变量中. 要求: 查询的结果集中只能有1行. SELECT col_name[,...] I ...
- 同一个存储过程中,不能多次select into 到同一张表的问题
表记录的插入方式有两种.其一,先create table 再 insert into from ....其二, 直接 select into. 第一种方式,由于要记录日志,因此IO消耗更多,durat ...
- SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法
本文出处: http://www.cnblogs.com/wy123/p/5958047.html 最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种 ...
- mysql存储过程中 乱码问题解决办法
中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题.1.直接使用insert into语句没问题,能够正常插入汉字.2.把insert into语句移到Procedure ...
- Oracle在存储过程中如何返回结果集
Oracle和Sqlserver不一样的地方有很多. 个人最深的体会是存储过程返回结果集,在Sqlserver中直接select查询就行,Oracle就不行了. 这里,就用最简单的例子说明存储过程返回 ...
随机推荐
- Solaris10 如何设置空闲ssh连接超时断开
在ssh的配置文件中有2个参数可以控制空闲连接超时断开.这2个参数是ClientAliveCountMax和ClientAliveInterval. Solaris10上设置空闲ssh连接超时断开的方 ...
- 问题:C#控制台 停留;结果:c#控制台如何延时显示
Thread.Sleep(毫秒数);//比如Thread.Sleep(2000)即为延时2秒需using System.Threading; 随笔5 - C#控制台窗口的显示与隐藏 1. 定义一个Co ...
- select 动态添加option函数
转自:https://lym6520.iteye.com/blog/309937 经常会用到select动态添加元素,写了个方法,方便调用! ... /** * 功能:select对象动态添加Opt ...
- Git实用技巧
1.关于版本控制系统 (1)本地版本控制系统 (2)集中化的版本控制系统 (3)分布式版本控制系统 2.Git的三种状态 对于任何一个文件,在 Git 内都只有三种状态: 已提交(committed) ...
- css的relative与absolute(一)
relative与absolute是position的两个值,本文对这两个值得关系进行了一个小实验 实验一: 首先定义了两个div元素,代码如下所示: <!doctype html> &l ...
- JSON数据格式简介
---------------siwuxie095 JSON 简介 JSON:JavaScript 对象表示法(JavaScript Objec ...
- C++使用标准库的栈和队列
转自http://blog.csdn.net/zhy_cheng/article/details/8090346 使用标准库的栈和队列时,先包含相关的头文件 #include<stack> ...
- ROS Learning-020 learning_tf-04(编程)让turtle2 海龟跟随turtle1海龟,并绕着 turtle1海龟转圈 (Python版)
ROS Indigo learning_tf-04 (编程)让 turtle2 海龟跟随 turtle1 海龟,并绕着 turtle1 海龟转圈 (Python版) 我使用的虚拟机软件:VMware ...
- HDU 2819 Swap (二分匹配+破输出)
题意:给定上一个01矩阵,让你变成一个对角全是 1 的矩阵. 析:二分匹配,把行和列看成两个集合,用匈牙利算法就可以解决,主要是在输出解,在比赛时一紧张不知道怎么输出了. 输出应该是要把 match[ ...
- Mac下的UI自动化测试 (一)
在我看来,实现UI自动化测试的过程一向都是令人快乐的事情,而维护它们就是跟噩梦一样了,尤其是对每次CI产生的build进行BVT测试,由于开发不会告诉你任何UI的变化,那么你拿到的测试结果就势必会一片 ...