技术标签: mysql 数据库 数据库(DataBase) sql
目录
2、创建函数queryAllParentIds(inputId VARCHAR(32))
3、创建函数queryLongName(inputId VARCHAR(32))
现在有一张行政区表,表结构如下:
CREATE TABLE `t_addr` (
`id` varchar(255) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`p_id` varchar(255) DEFAULT NULL,
`addr_level` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
需求如下:根据知道某一个指定的Id所有的上级信息
DROP FUNCTION IF EXISTS queryAllParentIds;
DELIMITER;;
CREATE FUNCTION queryAllParentIds(inputId VARCHAR(32))
RETURNS VARCHAR(4000)
BEGIN
DECLARE allParentIds VARCHAR(4000);
DECLARE tempParentId VARCHAR(32);
DECLARE tempId VARCHAR(32);
SET tempId = inputId;
SET allParentIds = '\'$\'';
SELECT p_id INTO tempParentId FROM t_addr WHERE id = tempId limit 1;
WHILE tempParentId <> '0' DO
SET allParentIds = CONCAT(allParentIds,',','\'',tempParentId,'\'');
SELECT p_id INTO tempParentId FROM t_addr WHERE id = tempParentId;
END WHILE;
RETURN allParentIds;
END
;;
DELIMITER ;
DROP FUNCTION IF EXISTS queryLongName;
DELIMITER;;
CREATE FUNCTION queryLongName(inputId VARCHAR(32))
RETURNS VARCHAR(4000)
BEGIN
DECLARE longName VARCHAR(4000);
DECLARE tempParentId VARCHAR(32);
DECLARE tempName VARCHAR(32);
DECLARE tempId VARCHAR(32);
SET tempId = inputId;
SELECT p_id,name into @tempParentId,@tempName FROM t_addr WHERE id = tempId limit 1;
SET longName = @tempName;
WHILE @tempParentId <> '0' DO
SELECT p_id,name into @tempParentId,@tempName FROM t_addr WHERE id = @tempParentId;
SET longName = CONCAT(@tempName,'->',longName );
END WHILE;
RETURN longName;
END
;;
DELIMITER ;
这里只强调下存储过程如何编写,其调用过程可以通过将其参数构建成一个类,来进行通常使用存储过程示例:createor replace procedureName(param1 in varchar,param2 outvarchar,params3out date)ISBEGINselect count(*) into param2 from t_role where role_n..._mybatis中的存储过程怎么定义
DeepFaceLab 2.0指南/教程此教程机翻自:https://mrdeepfakes.com/forums/thread-guide-deepfacelab-2-0-explained-and-tutorials-recommended什么是DeepFaceLab 2.0?DeepFaceLab 2.0是利用机器学习来交换视频中人脸的工具/应用程序。1.0和2.0有什么区别?DFL 2.0有什么新功能?DFL 2.0的核心与1.0非常相似,但是对它进行了重写和优..._mrdeepfakes
Nexus 5 刷机一、检查手机是否解锁电脑有adb,手机开启开发者模式,有USB调试adb reboot bootloader或者在关机状态下,按住开机键和音量下键进入bootloader模式如果未解锁请继续,解锁请跳到第二节 查看刷机过程首先在手机上打开开发者模式,然后打开USB调试进入到bootloader模式(参考上面的命令)打开命令行,输入fastboot flashing unlock然后选择YES 按电源键确认二 、刷机刷机前先做一些准备下载刷机工具电脑没有_nexus5刷机
word按照版本为两种:doc和docx,POI针对这两种操作需要不同的API:doc操作使用HWPFDocument,替换思想就是找到书签的起止位置,对范围内的文本进行替换:public static void docOperate(InputStream inputStream,OutputStream outputStream, ..._hwpfdocument pom
转载:https://www.liangzl.com/get-article-detail-97192.htmlCompletableFuture 是Java 8 新增加的Api,该类实现,Future和CompletionStage两个接口,提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,提供了函数式编程的能力,可以通过回调的方式处理计算结果,并且提供了转换和组合C...
Linux下的汇编与Windows汇编最大的不同就是第一个操作数是原操作数,第二个是目的操作数,而Windows下却是相反。1、 基本操作指令简单的操作数类型说明,一般有三种,(1)立即数操作数,也就是常数值。立即数的书写方式是“$”后面跟一个整数,比如$0x1F,这个会在后面的具体分析中见到很多。(2)寄存器操作数,它表示某个寄存器的内容,用符号Ea来表示任意寄存器a,用引用R[
前提:标题为一级标题,且标题的序号是在自动编号的那种1.先设置奇偶页不同2.将光标定位在奇数页页眉处,插入“文档部件”中的“域”3.选择“链接和引用”下的“StyleRef”,选中“标题1”,点击确定,奇数页眉就设置完毕4. 偶数页眉:将光标定位在偶数页页眉处,输入论文标题即可..._单数页眉为题目,双数页眉为章标题怎么弄
习惯了英文来写,还是用英文了。 I got an issue when I build my silverlight project. I got an error "Could not find file AppManifest.xaml".I tried to figure it out as follows:1. Clean solution2. Go to "Obj"_appmanifest
无论是电失真还是声失真,按失真的性质来分,主要有频率失真和非线性失真两种。其中,引起信号各频率分量间幅度和相位的关系变化,仅出现波形失真,不增加新的频率成分,属于线性失真。而谐波失真(THD)、互调失真(IMD)等可产生新的频率成分,或各频率分量的调制产物,这些多余产物与原信号极不和谐,引起声音畸变,粗糙刺耳,这些失真属于非线性失真。在这里,我们分别对谐波失真、互调失真、瞬态互调失真(T...
实施ERP与项目监理的关系实际上是一种很明确的依赖关系。假如一个企业应用实施ERP系统但没有很好地进行项目监理的话,那么,实施的效果就会大打折扣。一般来讲,由于以下几个原因,应用ERP系统需要实施项目监理: 企业在此之前没有实施大型管理系统的经验; ERP系统将涉及到企业各个业务管理部门; ERP系统的实施周期一般会在半年到两年之间。 所以,从注重ERP系统的实施效果出发,企业必须认真考虑项目实施_erp行业知识分享大会
猫猫分享,必须精品原创文章,欢迎转载。转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents看下效果吧例如新浪微博的软件开启时候 就是这个用Launch image实现这个不难,就是在Images.xcassets 增加一个LaunchImage文件(右键 new launch image) 然后把需要的素材放_lauch screen 是用什么软件做
共享windows的文件夹到linux环境中调用,需要在windows10系统中设置文件共享,并从Ubuntu系统中执行挂在,并且设置读写权限。_如何把共享文件夹传到ubuntu