mysql - 在mysql中创建一个函数,如果存在的话

标签 mysql sql

我试图在 MySQL 中创建一个像这样的函数,但是我在 ifexists 行遇到语法错误:

我认为由于从 MS SQL 服务器进行翻译,我所做的事情略有偏差。

CREATE FUNCTION MyFunction(input_field INTEGER)
RETURNS VARCHAR(5) 
BEGIN
   IF EXISTS (SELECT * FROM Teaches WHERE courseid = input_field)
    RETURN 'True'
    RETURN 'false'
END;

**更新

我根据@SK Jajoriya 的答案找到的解决方案

DELIMITER $$
CREATE FUNCTION MyFunction2(input_field INTEGER)
    RETURNS VARCHAR(5)
BEGIN
    IF EXISTS (SELECT * FROM Teaches WHERE courseid = input_field) THEN
        RETURN 'True';
    ELSE
            RETURN 'False';
    END IF;
END $$

最佳答案

CREATE FUNCTION MyFunction(input_field INTEGER)
    RETURNS VARCHAR(5) 
BEGIN
    IF EXISTS (SELECT * FROM Teaches WHERE courseid = input_field) THEN
        RETURN 'True'
    ELSE
            RETURN 'false'
    END IF;
END;

在您的情况下,if 语句未关闭

关于mysql - 在mysql中创建一个函数,如果存在的话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46646604/

相关文章:

sql - 仅在带有案例声明的列中的日期中更改年份

sql - Oracle SQL合并表而不指定列

mysql - 在 Spring 应用程序的事务中使用 Async

php - Ajax settimeout从php/mysql读取状态

mysql - 为什么在 WHERE 子句中使用聚合函数会出错?

sql - 我应该如何在旧数据库中存储 500 个键值对?

php - 一个 SQL 语句中的 2 个 COUNT,每个条件不同(MYSQL)

java - 企业 Web 应用程序中的缓存

php - php 压缩文件

mysql - 使用 COUNT 命令在 MYSQL 中创建查询