5.存储过程与存储函数的异同
(1)相同:
都是过程式数据库对象,都是附有一定功能的代码集合,增删改查操作均类似
(2)不同:
a.存储过程可以有输入和输出参数,但函数只能有输入参数,函数本身就是输出参数 b.存储过程调用:call存储过程名,但函数调用:select函数名(实参) c.存储过程不允许有return语句,但函数必须有return语句
6.变量的定义(声名)、赋值、流程控制语句与游标
局部变量:在过程体的开头声名,在begin…end内总有效
(1)定义:declare 变量名变量类型
(2)单个赋值语句:set变量名=变量值或表达式(3)列表赋值语句:select 列表名into变量名(3)流程控制语句:
a.条件语句:if...then..else... end if;
case变量名
when...then ...end case;
b.循环语句:while.. end while;
[标签:]LOOP语句列表 END LOOP[标签];
[标签:]REPEAT 语句列表 UNTIL 条件表达式 END REPEAT [标签];
(4)游标:是通过select语句检索出来的结果集,一定要在存储过程或函数使用,不能单独在查询中使用。
操作过程:
定义(声名):declare 游标名称-->打开:open 游标名称+>
读取:" fetch 游标名称into 变量名-->关闭:close 游标名称
用户变量:用户自己定义的变量,有存在整个会话中,前面加@符号。系统变量:全局变量和会话变量,前面加@@符号,