0

我无法使用phpMyAdmin创建函数,例如MySQL的接口。所以我写:

DELIMITER //
Create or Replace Function  affecter (id_patient IN integer , id_maladie IN VARCHAR2 ) 
Return VARCHAR2(30) IS  msg Varchar2(30);
Begin
    Insert into souffrir values (id_patient,id_maladie);
    msg:= 'Insertion effectuée';
    Return msg;
END//

我收到此错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,以在第 1 行的“Function effecter (id_patient IN integer , id_maladie IN VARCHAR2) Returns V”附近使用正确的语法

如何修复此错误?

4

3 回答 3

14

尝试这个:

DELIMITER $$
CREATE FUNCTION calcProfit(cost FLOAT, price FLOAT) RETURNS DECIMAL(9,2)
BEGIN
  DECLARE profit DECIMAL(9,2);
  SET profit = price-cost;
  RETURN profit;
END$$
DELIMITER ;

https://www.a2hosting.com/kb/developer-corner/mysql/mysql-stored-functions-and-procedures获得

于 2015-02-18T14:35:47.397 回答
0

目前,MySQL没有 create 函数的“或替换”部分。相反,您应该在定义分隔符后添加DROP FUNCTION IF EXISTS带有函数名称的 a。

13.1.12。CREATE PROCEDURE 和 CREATE FUNCTION 语法

于 2013-01-05T22:00:30.700 回答
-1

如果您转到 PMA 中的 SQL 选项卡,就在用于输入 SQL 的大框下方,有一个用于分隔符的小输入字段。从您的 SQL 中删除DELIMITER //,将分隔符输入字段从 ';' '//' 粘贴您的代码并提交。

于 2013-01-05T22:14:29.243 回答