MYSQL批量插入数据的实现代码第3/3页

 更新时间:2008年10月11日 22:43:05   作者:  
非常的实现原理,代码较多,建议大家仔细看看。

也可以给区块起别名,如:
lable:begin
...........
end lable;
可以用leave lable;跳出区块,执行区块以后的代码
2.条件语句
if 条件 then
statement
else
statement
end if;
3.循环语句
(1).while循环
[label:] WHILE expression DO
statements
END WHILE [label] ;
(2).loop循环
[label:] LOOP
statements
END LOOP [label];
(3).repeat until循环
[label:] REPEAT
statements
UNTIL expression
END REPEAT [label] ;
五.其他常用命令
1.show procedure status
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
2.show create procedure sp_name
存储过程创建语法:
CREATE PROCEDURE procedure_name ([parameter[,...])
[LANGUAGE SQL]
[ [NOT] DETERMINISTIC ]
[{CONTAINS SQL|MODIFIES SQL DATA|READS SQL DATA|NO SQL}]
[SQL SECURITY {DEFINER|INVOKER} ]
[COMMENT comment_string]
procedure_statements
可用SHOW PROCEDURE STATUS 或 SHOW CREATE PROCEDURE 来查看存储过程信息
另,系统表INFORMATION_SCHEMA.ROUTINES也包含了存储过程的一些信息
同样地,函数也可以使用同样方式查看(SHOW FUNCTION STATUS)
函数的创建
CREATE FUNCTION function_name (parameter[,...])
RETURNS datatype
[LANGUAGE SQL]
[ [NOT] DETERMINISTIC ]
[ {CONTAINS SQL | NO SQL | MODIFIES SQL DATA | READS SQL DATA} ]
[ SQL SECURITY {DEFINER|INVOKER} ]
[ COMMENT comment_string ]
语句体
函数与存储过程基本一样,其区别主要有:
1、 要使用RETURNS指定返回类型
2、 函数必须返回值,且在语句体中使用RETURN返回(注意:指定返回类型用RETURNS,返回值用RETURN)
3、 参数不区分IN,OUT,全部为IN类形
例:
CREATE FUNCTION cust_status(in_status CHAR(1))
RETURNS VARCHAR(20)
BEGIN
DECLARE long_status VARCHAR(20);
IF in_status = 'O' THEN SET long_status='Overdue';
ELSEIF in_status = 'U' THEN SET long_status='Up to date';
ELSEIF in_status = 'N' THEN SET long_status='New';
END IF;
RETURN(long_status);
END;
调用:
SELECT cust_status('O');
触发器
CREATE [DEFINER={user|CURRENT_USER}] TRIGGER trigger_name
{BEFORE|AFTER} {UPDATE|INSERT|DELETE}
ON table_name
FOR EACH ROW
trigger_statements
意义:当对表table_name执行update,insert,delete操作之前(before)或之后(after)时触发语句trigger_statements操作
例:
mysql> CREATE TRIGGER account_balance_au
AFTER UPDATE ON account_balance FOR EACH ROW
BEGIN
DECLARE dummy INT;
IF NEW.balance<0 THEN
SET NEW.balance=NULL;
END IF;
END
上述触发器表示:当更新表account_balance之后,如果更新的值balance小于0,则将它改为NULL,
注:如果为OLD.balance则表示更新前的原值

相关文章

  • Spring Boot console log 格式自定义方式

    Spring Boot console log 格式自定义方式

    这篇文章主要介绍了Spring Boot console log 格式自定义方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring Security+Spring Data Jpa如何进行安全管理

    Spring Security+Spring Data Jpa如何进行安全管理

    这篇文章主要介绍了Spring Security+Spring Data Jpa如何进行安全管理,帮助大家更好的理解和学习Spring Security框架,感兴趣的朋友可以了解下
    2020-09-09
  • java 获取当前函数名的实现代码

    java 获取当前函数名的实现代码

    以下是对使用java获取当前函数名的实现代码进行了介绍。需要的朋友可以过来参考下
    2013-08-08
  • 使用MybatisPlus自定义模版中能获取到的信息

    使用MybatisPlus自定义模版中能获取到的信息

    这篇文章主要介绍了使用MybatisPlus自定义模版中能获取到的信息,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Lombok 安装和使用小技巧

    Lombok 安装和使用小技巧

    这篇文章主要介绍了Lombok 安装和使用指南,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 基于JDBC访问MySql公共方法实例解析

    基于JDBC访问MySql公共方法实例解析

    这篇文章主要介绍了基于JDBC访问MySql公共方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Java实战项目 健身管理系统

    Java实战项目 健身管理系统

    本文是一个Java语言编写的实战项目,是一个健身管理系统,主要用到了ssm+springboot等技术,技术含量笔记高,感兴趣的童鞋跟着小编往下看吧
    2021-09-09
  • Java实现拓扑排序的示例代码

    Java实现拓扑排序的示例代码

    这篇文章我们要讲的是拓扑排序,这是一个针对有向无环图的算法,主要是为了解决前驱后继的关系,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-05-05
  • Java实现图形化界面的日历

    Java实现图形化界面的日历

    这篇文章主要介绍了Java实现图形化界面的日历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Java基础之异常处理详解

    Java基础之异常处理详解

    异常可能是在程序执行过程中产生的,也可能是程序中throw主动抛出的。本文主要给大家介绍了Java中异常处理的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04

最新评论