SQL 学习笔记:存储过程/PLSQL(存储过程)

一、存储过程 语法

-- MySQL
CREATE PROCEDURE p(IN a INT, OUT b INT)
BEGIN ... END;
-- Oracle
CREATE OR REPLACE PROCEDURE p(p_a IN INT, p_b OUT INT) IS
BEGIN ... END;

二、参数说明

项目说明
CREATE PROCEDURE创建存储过程,封装业务逻辑
参数模式IN 入参 / OUT 出参 / IN OUT(Oracle 支持)
BEGIN...END过程体,含变量与语句
调用MySQL: CALL p(); Oracle: EXEC p(); 或 BEGIN p(); END;

三、注意事项

  • MySQL 用 DELIMITER 改结束符避开体内分号;Oracle 用 IS/AS
  • Oracle PL/SQL 支持异常块 EXCEPTION WHEN ...;MySQL 用 DECLARE CONTINUE HANDLER
  • 调用差异:MySQL CALL,Oracle 用 EXEC 或在匿名块中调用

四、经典案例

案例1:MySQL 过程

MySQL 过程

案例2:Oracle 过程

Oracle 过程

案例3:带异常处理

带异常处理

五、小结

存储过程/PLSQL是数据库操作中的基础而关键的用法,建议结合文中的示例表在 Oracle 与 MySQL 中分别动手验证,注意两者在自增、分页、正则等处的语法差异,做到融会贯通。

💬 0 评论

评论(0)

登录后发表评论。