文章

MySQL笔记七

函数1、创建函数的语法格式如下。delimiter $$ create function 函数名(参数1,参数2,…)returns type[函数选项]begin 函数语句块;end $$delimiter ;例子: delimiter && create function f1(id int) returns varchar(20) begin return (select st_存储过程必须有且仅有一个返回值,且必须指定返回值数据类型

MySQL笔记七

文章信息

  • 原文链接:https://jiayq.blog.csdn.net/article/details/76435335
  • 发布时间:2017-07-31 14:13:50
  • 阅读量:418
  • 分类:java同时被 2 个专栏收录, 订阅专栏, mysql
  • 标签:#mysql, #函数

摘要

文章浏览阅读418次。函数1、创建函数的语法格式如下。delimiter \(create function 函数名(参数1,参数2,…)returns type[函数选项]begin 函数语句块;end\)delimiter ;例子: delimiter && create function f1(id int) returns varchar(20) begin return (select st_存储过程必须有且仅有一个返回值,且必须指定返回值数据类型


函数

1、创建函数的语法格式如下。

delimiter $$
create function 函数名(参数1,参数2,…)

returns type

[函数选项]

begin
函数语句块;

end
$$

delimiter ;

例子:
delimiter &&
create function f1(id int)
returns varchar(20)
begin
return (select stuname from student where stuid=id);
end
&&
delimiter ;

select f1(2);

delimiter &&
create function f2(id int)
returns varchar(20)
begin
declare sid int;
set sid=3;
return (select stuname from student where stuid=sid);
end
&&
delimiter ;

select f2(2);

DELIMITER //
CREATE FUNCTION addTwoNumber(x SMALLINT , Y SMALLINT )
RETURNS SMALLINT
BEGIN
DECLARE a, b SMALLINT DEFAULT 10;
SET a = x, b = y;
RETURN a+b;
END //

===================================================================
删除函数:
DROP FUNCTION function_name;

·存储过程与函数之间的共同特点:

1
2
存储过程或者函数可以重复使用,可以减少数据库开发人员,尤其是应用程序开发人员的工作量。
使用存储过程或者函数可以增强数据的安全访问控制。

·存储过程与函数之间的区别:
函数必须有且仅有一个返回值,且必须指定返回值数据类型(返回值类型目前仅仅支持字符串、数值类型)。存储过程可以没有返回值,也可以有返回值,甚至可以有多个返回值,所有的返回值需要使用in或out或者inout参数定义。
函数体内可以使用select…into语句为某个变量赋值

1
函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程要让sql的query 可以执行
本文由作者按照 CC BY 4.0 进行授权