我无法使用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'
如何解决此错误?
答案 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
。
答案 2 :(得分:-1)
如果您转到PMA中的SQL选项卡,就在输入SQL的大框下方,分隔符的输入字段很小。从SQL中删除DELIMITER //
,从“;”更改分隔符输入字段“//”粘贴代码并提交。