使用phpMyAdmin创建一个函数

时间:2013-01-05 21:28:17

标签: mysql function phpmyadmin

我无法使用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服务器版本,用于在'Function affecter(id_patient)附近使用正确的语法      IN整数,id_maladie IN VARCHAR2)返回第1行的V'

如何解决此错误?

3 个答案:

答案 0 :(得分:10)

试试这个:

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

答案 1 :(得分:0)

目前,MySQL没有创建功能的'或替换'部分。相反,在定义分隔符后,应添加带有函数名称的DROP FUNCTION IF EXISTS

请参阅 13.1.12. CREATE PROCEDURE and CREATE FUNCTION Syntax

答案 2 :(得分:-1)

如果您转到PMA中的SQL选项卡,就在输入SQL的大框下方,分隔符的输入字段很小。从SQL中删除DELIMITER //,从“;”更改分隔符输入字段“//”粘贴代码并提交。