当前位置: 首页 > 面试题库 >

MySQL CREATE FUNCTION语法

关玄裳
2023-03-14
问题内容

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

这是SQL代码:

CREATE FUNCTION F_Dist3D (x1 decimal, y1 decimal) 
RETURNS decimal
DETERMINISTIC
BEGIN 
 DECLARE dist decimal;
 SET dist = SQRT(x1 - y1);
 RETURN dist;
END;

我收到以下错误:

#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语句。此功能有什么问题?


问题答案:

您必须;使用类似的方法来覆盖定界符,$$以避免此类错误。

在定义函数之后,可以将定界符设置回;

这应该工作:

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 ;


 类似资料:
  • 主要内容:1. 生产参数,2. 缩进空间,3. 分离空间,4. 忽略行前缀,5. 折叠线在本章中,将了解YAML中语法原语的以下几个方面 - 生产参数 缩进空间 分离空间 忽略的行前缀 折叠线 下面来详细地了解每个方面。 1. 生产参数 生产参数包括一组参数以及在特定生产中使用的允许值范围。 YAML中使用以下生产参数列表 - 缩进 它由字符或表示字符流取决于其中包含的块的缩进级别。 许多生产都参数化了这些功能。 上下文 它由表示,YAML支持两组上下文:块样式和流样式。 样式 它由

  • 这一部分将 Rust 拆成小的部分,每一部分对应一个概念。 如果你想要自底向上的学习 Rust,按顺序阅读这一部分将会有很大帮助。 这些部分也组成了一个对各种概念的参考,所以如果你阅读其它教程并发现一些迷惑的问题,你可以在这里找到一些解释。

  • 我想用javascript/php实现法语、俄语等外语的拼写更正。对于英语拼写检查器,我可以使用编辑距离算法从英语词典中检索单词(词典是使用Trie构建的),并返回最频繁的单词。我还找到了关于这方面的文章,例如。http://stevehanov.ca/blog/index.php?id=114.我认为对于外语来说,同样的方法也是有用的。 我相信必须为不同的语言提供API,但我不想在我的应用程序中

  • 主要内容:第一个Dart语序,Dart命令行选项,启用检查模式,Dart标识符,Dart关键字,Dart注释,Dart面向对象编程语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart程序代码由以下组成 - 变量和运算符 类 函数 表达式和编程构造 决策和循环结构 注解 库和包 类型定义 数据结构 - 集合/泛型 第一个Dart语序 函数是Dart中的预定义方法。此方法充当应用程序的入口点。Dart脚本需要方法来执行。是一个预定义的函数,它将指定的字符串或值打印到标准输出(即

  • 主要内容:R命令提示符,R脚本文件,注释学习一个新编程语言的惯例是什么?,当然是编写一个“Hello,World!”,下面我们将演示如何使用R编程编写一个“Hello,World!”程序。根据需要,您可以在R命令提示符下编程,也可以使用R脚本文件编写程序。 R命令提示符 当安装好了R开发环境以后,那么通过在命令提示符下键入以下命令,就可以启动R命令提示符 - 或者,在Windows系统下 - 这将启动R解释器,您将获得一个提示您可以在以

  • 上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法。 Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") 6 个标记是(每行一个): 1. fmt 2. . 3. Println 4. ( 5. "Hello, World!"

  • 顾名思义,一个命令式语言是由一个个“命令”为单元组成,不过一般很少用命令这个词,而是细分一下,比较低级的语言用指令(instruction),高低的语言一般认为是一个语句(statement,以后简称stmt),词法分析只将一段高级语言代码分解成一个个词,接下来还要做语句层面的分析,最终目标是生成抽象语法树(ast) 代码: a = 1; s = 0; while (a <= 100)

  • 问题内容: 为什么Python在第9行的简单语句中给我一个语法错误? Python的版本是: 问题答案: 在Python 3中,print是一个函数,您需要像这样调用它。