传统项目一直有一个争议,PLSQL到底是写到DB层,还是写到JAVA代码中实现。
目前大多数数据库操作都是写在mybatis等ORM框架实现的,为的是便于维护和迁移。
但是PLSQL编程还有没有意义, 当然有意义,尤其是做测试验证非常便捷。
1、创建存储过程和函数
1.1、创建存储过程
语法:
CREATE
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
- create procedure:存储的关键字
- sp_name:存储过程的名字
- proc_parameter:存储过程的参数列表characteristic存储过程的特性
格式:
[ IN | OUT | INOUT ] param_name type
介绍:- in----输入,out----输出,inout----可以输入也可以输出
- param_name:参数名称
- type:参数的类型(MySQL的任意类型)
- routine_body sql的代码
示例:
CREATE PROCEDURE `insertOrder`( IN loopcount INT )
BEGIN
DECLARE
v_uuid VARCHAR ( 50 );
DECLARE
v_orderId INT;
WHILE
loopcount > 0 DO
SET v_uuid = uuid( );
SET v_orderId = rand( ) * 100000;
INSERT INTO t_order ( user_id, order_id, order_status, create_date )
VALUES
(
rand( ) * 1000,
v_orderId,
rand( ) * 10,
DATE_ADD