首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL CREATE FUNCTION语法

问MySQL CREATE FUNCTION语法
EN

Stack Overflow用户
提问于 2011-07-19 08:10:56
回答 2查看 133K关注 0票数 56

我正在尝试在MySQL中创建一个函数:

下面是SQL代码:

代码语言:javascript
复制
CREATE FUNCTION F_Dist3D (x1 decimal, y1 decimal) 
RETURNS decimal
DETERMINISTIC
BEGIN 
 DECLARE dist decimal;
 SET dist = SQRT(x1 - y1);
 RETURN dist;
END;

我收到以下错误:

代码语言:javascript
复制
#1064 - You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL 
server version for the right syntax to use near '' at line 10

我在phpMyAdmin中运行这个create语句。这个函数有什么问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-19 08:18:10

您必须使用$$之类的内容覆盖您的;分隔符,以避免此类错误。

函数定义完成后,可以将分隔符重新设置为;。

这应该是可行的:

代码语言:javascript
复制
DELIMITER $$
CREATE FUNCTION F_Dist3D (x1 decimal, y1 decimal) 
RETURNS decimal
DETERMINISTIC
BEGIN 
  DECLARE dist decimal;
  SET dist = SQRT(x1 - y1);
  RETURN dist;
END$$
DELIMITER ;
票数 99
EN

Stack Overflow用户

发布于 2013-07-19 15:56:21

MySQL create function语法:

代码语言:javascript
复制
DELIMITER //

CREATE FUNCTION GETFULLNAME(fname CHAR(250),lname CHAR(250))
    RETURNS CHAR(250)
    BEGIN
        DECLARE fullname CHAR(250);
        SET fullname=CONCAT(fname,' ',lname);
        RETURN fullname;
    END //

DELIMITER ;

在查询中使用此函数

代码语言:javascript
复制
SELECT a.*,GETFULLNAME(a.fname,a.lname) FROM namedbtbl as a


SELECT GETFULLNAME("Biswarup","Adhikari") as myname;

观看此视频如何创建mysql函数以及如何在查询中使用

Create Mysql Function Video Tutorial

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6740932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档