自定义函数
Create function 函数名(参数)Returns 返回值数据类型
[with {Encryption | Schemabinding }]
[as]
begin
SQL语句(必须有return 变量或值)
End
这里的with为附加选项:
如果需要对函数体进行加密,可使用WITH ENCRYPTION;
如果需要将创建的函数与引用的数据库绑定,可以使用WITH SCHEMABINDING(注:函数一旦绑定,则不能删除、修改,除非删除绑定)
1.自定义函数分为:标量值函数或表值函数两种。
标量值函数:如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数。
表值函数:如果 RETURNS 子句指定 TABLE,则函数为表值函数。
CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
DECLARE c INT;
SET c=N-1;
RETURN (
# Write your MySQL query statement below.
SELECT DISTINCT Salary FROM Employee ORDER BY Salary DESC
LIMIT 1 OFFSET c
);
END