我在phpMyAdmin中创建了一个存储过程
CREATE PROCEDURE Sample()
SELECT * FROM feedback
Run Code Online (Sandbox Code Playgroud)
我在哪里可以看到这个程序?如果在phpMyAdmin中无法实现,那么具有编写,存储和查看存储过程,表等功能的一些优秀程序是什么?
我无法找到在phpMyAdmin中编写存储过程的位置以及如何使用MVC架构调用它.
体改.
DROP FUNCTION IF EXISTS PersonName;
DELIMITER |;
CREATE FUNCTION PersonName( personID SMALLINT )
RETURNS CHAR(20)
BEGIN
DECLARE pname CHAR(20) DEFAULT '';
SELECT name INTO pname FROM family WHERE ID=personID;
RETURN pname;
END;
|
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
这个代码怎么了?我得到以下错误.
您的SQL查询中似乎有错误.下面的MySQL服务器错误输出(如果有的话)也可以帮助您诊断问题
错误:未知的标点字符串@ 102 STR:|; SQL:DROP FUNCTION如果EXISTS PersonName; #MySQL返回一个空结果集(即零行).
DELIMITER |; DELIMITER |; DELIMITER |; DELIMITER |; DELIMITER |; DELIMITER |; DELIMITER |;
SQL查询:
DELIMITER |;
MySQL说:文档#1064 - 你的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'DELIMITER |'附近使用正确的语法 在第1行
使用MySQL,如何使用phpmyadmin将用户定义的数据库功能从一个数据库服务器导入另一个数据库服务器?
可以使用此SQL获取用户定义函数的列表:
select * from information_schema.routines;
Run Code Online (Sandbox Code Playgroud)
这是我想要移动到不同数据库服务器的我的函数:
CREATE DEFINER=`XXX`@`%` FUNCTION `BDayDiff`( d1 DATE, d2 DATE ) RETURNS int(11)
DETERMINISTIC
BEGIN
DECLARE dow1, dow2, days, wknddays INT;
SET dow1 = DAYOFWEEK(d1);
SET dow2 = DAYOFWEEK(d2);
SET days = DATEDIFF(d2,d1);
SET wknddays = 2 * FLOOR( days / 7 ) +
IF( dow1 = 1 AND dow2 > 1, 1,
IF( dow1 = 7 AND dow2 = 1, 1,
IF( dow1 > 1 AND dow1 > dow2, 2,
IF( dow1 < 7 …Run Code Online (Sandbox Code Playgroud)