数据库应用技术项目化教程-龙浩-7 存储过程和函数.pptxVIP

  • 0
  • 0
  • 约6.17千字
  • 约 66页
  • 2023-04-18 发布于浙江
  • 举报

数据库应用技术项目化教程-龙浩-7 存储过程和函数.pptx

;学习目标;;管理存储过程;在MySQL中最常见的变量类型有局部变量和用户自定义变量两种。 1.局部变量 要定义局部变量必须使用DECLARE来声明,定义的同时可以使用default对局部变量初始化赋值。DECLARE语句格式如下: DECLARE var_name[,…] type [DEFAULT value] value是给变量提供一个默认值,包含在一个DEFAULT子句中,它的值可以被指定为一个表达式,如果没有DEFAULT子句,初始值为NULL。例如: DECLARE num int DEFAULT 0;;2.用户自定义变量 用户自定义变量的声明以“@”开头,形如:@var_name。为了实现不同SQL语句中进行值的传递,可以把一些数值存储在自定义的用户变量中,不同的SQL语句都可以对它进行访问。用户变量在客户端和数据库的连接建立时被定义,当连接断开时,用户变量将会被释放。用户变量无需用DECLARE关键字进行定义,可以直接使用。例如: SET @c1=1, @c2=2, @c3=4;;在编写存储过程和存储函数时,可以使用流程控制语句对SQL语句进行组织,使其成为符合业务逻辑的代码块。MySQL中常见的流程控制语句主要有:IF语句、CASE语句、LOOP语句、WHILE语句、ITERATE语句、REPEAT语句等。;1.IF语句 IF语句可以通过判断一个逻辑条件是TRUE还是FALSE,转去执行相应的语句,它的语法格式如下: IF expr_condition THEN statement_list [ELSEIF expr_condition THEN statement_list] [ELSE statement_list] END IF ;2.CASE语句 CASE也是一个条件判断语句,多用于多分支判断的程序结构,它的常用语法格式如下: CASE case_expr WHEN when_value THEN statement_list [WHEN when_value THEN statement_list]…… [ELSE statement_list] END CASE;3.LOOP语句 LOOP是一个循环语句,用来进行一个语句块的循环操作。LOOP语句并不进行条件判断,会一直执行循环体的语句,如果要退出语句的执行,需要使用LEAVE等语句退出循环。LOOP语句的语法格式如下: [loop_label:] LOOP Statement_list END LOOt_listP [loop_label];4.LEAVE语句 在循环语句LOOP使用过程中,当循环条件不满足时,可以使用LEAVE语句跳出循环体。LEAVE语句用于跳出有循环标志的流程控制语句,基本语法结构如下: LEAVE label;5.ITERATE语句 与LEAVE语句结束整个循环不同,ITERATE语句用于无条件转到语句段的开头处。ITERATE语句的格式如下: ITERATE lable;6.REPEAT语句 REPEAT语句用于循环执行一个语句块,采用的方式是先无条件执行语句块后再进行条件表达式判断,如果表达式为真,则循环结束,否则重复执行语句块。REPEAT语句的格式如下: [repeat_lable:] REPEAT statement_list UNTIL expr_condition END REPEAT [repeat_lable];7.WHILE语句 WHILE语句也用于循环执行一个语句块,但是与REPEAT语句不同,WHILE语句执行时首先判断条件表达式是否为真,如果为真则继续执行循环体内语句,否则直接退出循环体。WHILE语句的格式如下: [while_lable:] WHILE expr_condition DO Statement_list END WHILE [while_lable];使用SQL语句进行查询过程中,查询结果将返回很多记录,如果记录量很大时,需要使用光标来对查询结果集中的记录进行逐条读取,它可以对多行数据进行轻松的处理。;1.光标的声明 在使用光标对结果集中的数据进行处理时,需要首先声明光标,光标的声明必须在声明变量、条件之后,声明处理程序之前。光标的声明格式如下: DECLARE cursor_name CURSOR FOR select_statement 其中cursor_name表示光标的名字,select_statement代表SELECT语句的内容,返回一个用于创建光标的结果集。下面声明一个名为cur_teacher的光标。代码如下: DECLARE cur_xsxx CURSOR FOR SELECT xh,xm FROM tb_xsxxb;;2.光标

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档