存储过程 @与字符连接_存储过程连接符-程序员宅基地

技术标签: 数据库  维护  

Oracle中有一个伪列rownum,可以在生成查询结果表的时候生成一组递增的序列号。MySQL中没有这个伪列,但是有时候要用,可以用如下方法模拟生成一列自增序号。

select (@i:=@i+1) as rownum, agent_id, agent_name from user, (select @i:=0) as init;

select@变量 储存自增ID

INSERT INTO `operates` (`code`, `name`, `icon`, `remark`) VALUES ('transfer', '迁移', '', '');
SELECT @parentId := LAST_INSERT_ID();
INSERT INTO `menu_operates` (`menu_id`, `operates_id`) VALUES ('141',@parentId);

set @

set @month='2021-01';
select * from user where date_month=@month;
select * from admin where date_month=@month;

select @name := name, @number := number from my_student where id=1 limit 1;

存储过程循环变量与字符连接

mysql> DELIMITER $$
mysql> drop PROCEDURE sp_test_switch$$
Query OK, 0 rows affected (0.01 sec)

mysql> CREATE PROCEDURE sp_test_switch()
    -> BEGIN
    ->  declare a int;
    ->  declare b varchar(5000);
    ->  set a=1;
    ->  set b='';
    ->  while a<10 do
    ->          set b = concat(b,',',a);
    ->          set a=a+1;
    ->  end while;
    ->  select b;
    -> END
    -> $$
Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;
mysql>
mysql> call sp_test_switch();
+--------------------+
| b                  |
+--------------------+
| ,1,2,3,4,5,6,7,8,9 |
+--------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql>

mysql存储过程的变量定义:declare和直接set @var什么区别?

我的理解是, declare定义的是局部变量, 只能用在存储过程或函数中, 其有效区间就是存储过程或函数中声明该变量的begin end区间.而@var属于用户变量(自己声明的), 其有效区间就是该session, 你既可以在存储过程或函数中使用, 也可以在自己写的SQL语句中使用.还有@不需要声明类型,declare必须指定类型

CREATE PROCEDURE sp_starnight_cbj() 
BEGIN
DECLARE A INT DEFAULT 1;
DECLARE B VARCHAR(5000) DEFAULT '';
WHILE A<10 DO
	SET B = CONCAT(B,',',A);
	SET A=A+1;
END WHILE;
SELECT B;
END; 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hudeyong926/article/details/99540537

智能推荐

C/C++基础讲解(一百二十五)之经典篇(猴子分桃/计算未知数/八进制转换为十进制/奇数个数)_c++猴子分桃子问题-程序员宅基地

文章浏览阅读772次。程序主要是基于Visual studio 2019进行编译完成了,有兴趣的小伙伴可以自己安装下Visual studio 2019,网上有现成的教程,当然了,如果有问题,也可以和我联系,这里我们主要讲解些源码实例,不多说了,言归正传。 C语言,做为学习其他语言的基础语言,其重要性就不言而喻了.下面我将和大家一起来学习探讨C语言的相关奥秘。_c++猴子分桃子问题

混合正弦余弦和变异选择改进蝗虫优化算法的目标最优求解-程序员宅基地

文章浏览阅读28次。然后,根据正弦余弦映射和变异选择策略,更新蝗虫个体的位置和速度。蝗虫优化算法(Grasshopper Optimization Algorithm,简称GOA)是一种基于蝗虫群体行为的启发式优化算法,模拟了蝗虫的觅食行为和交流方式。为了提高GOA算法的性能和收敛速度,研究者们提出了一种改进的蝗虫优化算法——混合正弦余弦和变异选择改进蝗虫优化算法。接下来,我们将给出Matlab代码实现混合正弦余弦和变异选择改进蝗虫优化算法的目标最优求解。混合正弦余弦和变异选择改进蝗虫优化算法的目标最优求解。

EC20 centos7 调试_Centos7下ping通ip但是ping不通域名+firefox无法打开网页 - 菜狗Zero-程序员宅基地

文章浏览阅读273次。本着不会就百度的原则,参照了以下几篇文章:Centos7 ping 未知的名称或服务 DNS 配置问题linux centos7 ping: : 未知的名称或服务1 原环境状态当前虚拟机设置为自定义特定虚拟网络(VMnet8-NAT模式)如何查看你的当前虚拟机网络连接方式设置?在VMvare Workstation的左边列表中找到“我的计算机”=》当前计算机鼠标右键单击它,选中“设置”,鼠标左键单..._ec20 可以查询ip不能ping

计算机网络期末大题汇总_网络大题目-程序员宅基地

文章浏览阅读2.4w次,点赞170次,收藏1.5k次。期末复习笔记整理~~_网络大题目

项目中的错误_20:01:45.901 [rmi tcp connection(5)-127.0.0.1] inf-程序员宅基地

文章浏览阅读538次。13-Dec-2021 10:34:49.484 警告 [RMI TCP Connection(3)-127.0.0.1] org.springframework.context.support.AbstractApplicationContext.refresh Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.Unsatis_20:01:45.901 [rmi tcp connection(5)-127.0.0.1] info org.springframework.bean

关于ice1000大佬resume(typst)项目本地部署教程_typst怎么下载-程序员宅基地

文章浏览阅读196次。基于Typst的resume的项目的本地部署教程_typst怎么下载

随便推点

计算两个集合的交集、并集、差集、对称集_输入两个集合,求两个集合的交集,并集,差集,对称差集-程序员宅基地

文章浏览阅读3.1k次。计算 两个集合的交集、并集、差集、对称集import sysimport time#刷新缓冲区def flush(): time.sleep(1)#除去重复元素def duplicate_removal(lt): lt1 = [] for i in lt: if i not in lt1: lt1.append(..._输入两个集合,求两个集合的交集,并集,差集,对称差集

基于LSD的直线提取算法_lsd算法改进-程序员宅基地

文章浏览阅读5.9w次,点赞25次,收藏172次。Validation Step:The validation step is based on the a contrario approachand the Helmholtz principle proposed by Desolneux.the Helmholtz principle:在完美噪声图像图像中不应该检测到目标。 contrario approach:一_lsd算法改进

【软件测试】Jmeter性能测试(性能测试,Jmeter使用与结果分析)_jmeter测试-程序员宅基地

文章浏览阅读10w+次,点赞296次,收藏2.3k次。性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。本文简单讲述了性能测试以及性能测试工具Jemeter。另外,我会将其他测试相关的文章也放在这个系列。_jmeter测试

深度学习模型转换_深度学习模型转换成无需依赖库的本地代码-程序员宅基地

文章浏览阅读1w次,点赞26次,收藏88次。前言当用户基于各种原因学习并使用了一种框架的时候,常常会发现应用或者再训练的场景改变了,比如用户用 Caffe 训练好了一个图像识别的模型,但是生产环境是使用 TensorFlow 做预测。再比如某机构主要以TensorFlow作为基础的深度学习开发框架,现在有一个深度算法项目,需要将其部署在移动设备上,并希望使用速度较优的ncnn前向框架,以观测变现等等。传统地我们可能需要用tf重写Caff..._深度学习模型转换成无需依赖库的本地代码

javascript, json, xml-程序员宅基地

文章浏览阅读485次。在网络编程中,我们经常需要用到javascript,这些客户端脚本又经常需要与服务端进行异步的通讯,提交并接收数据。下面这个例子演示了如何设计服务,如何编写脚本 1. 服务端,这是一个ashx文件 需要添加两个引用 System.Runtime.Serialization和System.ServiceModel.Webusing System.Web;using System.Web.Services;using System.Runtime.Serialization.Json;using S

Javascript 字符串,内置对象,Math和date ,浏览器对象,计时器_浏览器内置math-程序员宅基地

文章浏览阅读210次。字符串,内置对象,Math和date ,浏览器对象,计时器_浏览器内置math