SQL 学习笔记:自定义函数 FUNCTION(函数)

一、函数 语法

-- MySQL
CREATE FUNCTION f(x INT) RETURNS INT DETERMINISTIC
BEGIN RETURN x*2; END;
-- Oracle
CREATE OR REPLACE FUNCTION f(p IN INT) RETURN INT IS
BEGIN RETURN p*2; END;

二、参数说明

项目说明
CREATE FUNCTION创建返回标量值的函数
RETURNS/RETURN声明返回类型
DETERMINISTICMySQL 要求标明是否确定性(同输入同输出)
与过程区别函数有返回值、可在 SQL 中调用;过程无返回值

三、注意事项

  • 函数可在 SELECT / WHERE 中直接调用,过程多用于执行动作
  • MySQL 函数需声明 DETERMINISTIC / READS SQL DATA 等特性
  • Oracle 函数用 RETURN 类型与 RETURN 语句;MySQL 用 RETURNS + RETURN

四、经典案例

案例1:MySQL 函数

MySQL 函数

案例2:Oracle 函数

Oracle 函数

案例3:函数内调用

函数内调用

五、小结

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

💬 0 评论

评论(0)

登录后发表评论。