MySQL使用之五_自定义函数和自定义过程

本文探讨了MySQL中的自定义函数和自定义过程,强调了它们与VBA的相似性和区别,特别是函数有返回值而过程无。此外,提到了PostgreSQL中自定义函数的特性。还详细介绍了游标的概念,作为遍历结果集的手段,以及在MySQL中的不同循环语句类型。最后,文章提及了SQL中的异常处理机制,特别是在处理Cursor时防止NOT FOUND异常的重要性。
摘要由CSDN通过智能技术生成
  1. MySQL自定义代码块分为自定义函数和自定义过程两种,函数有返回值,过程无返回值;这点和VBA中一样;
  2. PostgrSQL自定义代码块只有自定义函数,自定义函数可以返回void;
  3. MySQL和PostgreSQL的自定义函数写法不同

游标

SQL语句执行时,是字段对所有行进行操作的,也就是自带循环,得到的结果为记录的集合而不是一条记录,那怎么遍历取出结果集中的每条记录?通过游标的机制,游标就和中迭代器差不多
在不使用游标时操作针对整个集合
使用游标操作针对单个记录


语句结束符


变量定义

@,@@、#,##的含义
参考:https://zhidao.baidu.com/question/238197938.html

变量


条件语句:


循环语句:

循环结束

LEAVE 相当于 break
ITERATE 相当于 continue

LOOP循环

LOOP
SET @count=@count+1;  
END LOOP;
LOOP语句本身不带条件判断和循环结束,需要自己写IF和LEAVE来结束循环
add_num: LOOP 
SET @count=@count+1; 
IF @count=100 THEN 
LEAVE add_num ; 
END LOOP add_num ; 

REPEAT循环

REPEAT 
SET @count=@count+1; 
UNTIL @count=100 
END REPEAT ; 

WHILE循环

WHILE @count<100 DO 
SET @count=@count+1; 
END WHILE ; 

Cursor

注意:Cursor相当于迭代器,需判断是否遍历到数据集末尾;SQL中,若Cursor已到末尾,但仍然用Fetch取值,会产生NOT FOUND异常,可通过捕捉该异常来判断是否已遍历完


异常处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值